qwertyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbnmqw
ertyuiopasdfghjklzxcvbnmqwer
tyuiopasdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiop
asdfghjklzxcvbnmqwertyuiopas
dfghjklzxcvbnmqwertyuiopasdf
ghjklzxcvbnmqwertyuiopasdfgh
jklzxcvbnmqwertyuiopasdfghjkl
zxcvbnmqwertyuiopasdfghjklzx
cvbnmqwertyuiopasdfghjklzxcv
bnmqwertyuiopasdfghjklzxcvbn
mqwertyuiopasdfghjklzxcvbnm
qwertyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbnmqw
ertyuiopasdfghjklzxcvbnmrtyui
מבוא לרובוטיקה
ד"ר ניר שוולב
ד"ר ניר שוולב /מבוא לרובוטיקה
1
2
ד"ר ניר שוולב
מבוא לרובוטיקה
אין לשכפל ,להעתיק ,לצלם ,להקליט ,לאחסן במאגר מידע ,לשדר או
לקלוט בכל דרך או בכל אמצעי אלקטרוני ,אופטי מכני או אחר כל
חלק שהוא מן החומר שבספר זה.
שימוש מסחרי מכל סוג שהוא בחומר הכלול בספר אסור בהחלט אלא
ברשות מפורשת מהמו"ל.
הדפסה :דפוס אלפא 30-9665096
נדפס בישראל :אפריל Printed in Israel :9336
© כל הזכויות שמורות
למרכז האוניברסיטאי אריאל בשומרון
ד"ר ניר שוולב
מבוא לרובוטיקה
להורי היקרים
דוד ושושנה שוולב
באהבה גדולה.
3
4
מבוא לרובוטיקה
ד"ר ניר שוולב
שלמי תודה
תודה לסטודנטים שהייתה לי הזכות ללמד אותם -מר אלון ורדימון ומשה נצר
שברשימותיהם נעזרתי בכתיבת הספר .תודה לחברי יונתן וישניצר על רשימותיו.
תודה לאלון סימון על האיורים המשעשעים .תודה לפרופסור משה שוהם (הטכניון)
ולד"ר אמיר שפירא (אוניברסיטת בן גוריון שבנגב) על עצותיהם והערותיהם
הפוריות .תודה לנעמה אהובתי היקרה שעזרה לי רבות לנסח ותמכה בי לאורך
כתיבתו ולתמר הקטנה ש(עדיין) לא עושה כלום וכבר עשתה המון.
על הכריכה
יד מינאטורית שפותחה ונבנתה במעבדה לקינמאטיקה וגיאומטריה חישובית
שבמרכז האוניברסיטאי אריאל אשר מטרתה לסייע לרופא המבצע פעולות עדינות
כדוגמת אלו המתבצעות בניתוחי מיקרו .אורך הרובוט מקצה האצבע לבסיס כף היד
כ 1ס"מ וחצי ואורך כל אצבע כשבעה מ"מ .היד כולה בעלת 65דרגות חופש והבקרה
עליה באמצעות כפפת היגוי .בכריכה הקדמית (והאחורית) אחיזה רובוטית (ואנושית)
בבורג שקוטרו 9מ"מ.
ד"ר ניר שוולב
מבוא לרובוטיקה
תוכן העניינים
הקדמה 6 .......................................................................................................
דרגות חופש 41 ................................................................................................
מערכות צירים 52 ............................................................................................
שרשור טרנספורמציות 66 ..................................................................................
הקינמטיקה הישירה 14 ....................................................................................
הקינמטיקה הפוכה 66 ......................................................................................
אנליזה ליניארית 78 .........................................................................................
סינגולאריות קינמטית 401 .................................................................................
סטאטיקה 441 ................................................................................................
אנליזת קשיחות 456 .........................................................................................
מדדים 466 .....................................................................................................
רובוטים מקבילים 412 ......................................................................................
מרחב הקונפיגורציה 464 ...................................................................................
נספח א' פתרון מערכת משוואות לא ליניארית 476 ...................................................
נספח ב' תכנון תנועה (על קצה המזלג) 478 .............................................................
נספח ג' דינאמיקה (על קצה המזלג) 446 ...............................................................
רשימת מקורות 446 .........................................................................................
רשימת כתבי עת ברובוטיקה 444 .........................................................................
אינדקס 500 ...................................................................................................
5
מבוא לרובוטיקה
6
ד"ר ניר שוולב
הקדמה
רובוט הוא סוכן מכאני .בדרך כלל המדובר במערכת אלקטרו-מכאנית ,אשר התבוננות באופן
התנועה שלה יוצרת תחושה של כוונה או רצון עצמאיים .במילים אחרות ,על רובוט להפגין
מידה מסוימת של תבונה .באופן מפתיע ,אין הגדרה מוסכמת על החוקרים למושג רובוט ,עם
זאת מוסכם על כולם שנוסף על יכולת תבונית על רובוט להיות מסוגל לאחת או יותר
מהמשימות הבאות :תנועה עצמאית ,הפעלת זרוע מכאנית ,חישה ,ופעולה על סביבתו.1
במחקר ברובוטיקה נכללים תחומי המכאניקה ,הבקרה ,האינטראקציה עם בני אדם
והחישה .קצרה היריעה מלעסוק בכולם ובספר זה נתמקד באספקטים המכאניים בלבד.
התייחסות בספרות
רעיון של יצור דמוי אנוש מעשה ידי אדם קיים עוד מימי המיתולוגיה היוונית .מן הסיפורים
הידועים יותר הוא סיפורו של הפָּ סל פיגמליון אשר התאהב בפסל שיצר ,ובעזרת אלת
האהבה וונוס החיה אותו .סיפור אחר המתאר יצירת יצור דמוי אדם הוא סיפור הגולם
מפראג מהמאה ה .69-על פי האגדה ,הגולם מפראג נבנה בידי רבי יהודה ליווא בן בצלאל
(המהר"ל מפראג) ,אשר יצר את הגולם כשנתגלתה מזימה של עלילת דם .הגולם שימש את
יוצרו כשליח נאמן והטיל אימה על מפיצי העלילה הנוראה .מדי ערב שבת הרב הוציא את
רוח החיים מתוך הגולם מחשש פן תחולל השבת ,והגולם היה מוטל כגוש חומר עד צאת
השבת .באחד מימי השישי ,שכח הרבי להוציא מן הגולם את רוח החיים והגולם חילל את
השבת וסיכן את הגויים שחיו בעיר .הרב רדף אחריו והשיגו מחוץ לפתח בית הכנסת בפראג.
1
פורמאלית ב 6663 -נוסחה ההגדרה ( :)6663 ISO TR 8376רובוט תעשייתי הוא מכונה (נייחת או ניידת) הניתנת
לתכנות חוזר .על המכונה לשמש למספר אפליקציות תעשייתיות .המונח תכנות מתייחס לעריכת תוכנה ללא
שינויים מכאניים.
ד"ר ניר שוולב
מבוא לרובוטיקה
שם הוציא ממנו את רוח החיים והגולם התנפץ לרסיסים .על פי האגדה ,על מצחו של הגולם
היו חקוקות האותיות "אמת" ,והמתתו בוצעה על ידי מחיקת האות א' כך שהכיתוב הפך
להיות "מת".
אלמנט "הגולם הקם על יוצרו" בסיפור הגולם מפראג חוזר גם בסיפורה של מרי שלי ,
פרנקנשטיין ,שפורסם לראשונה בשנת .1818בשני הסיפורים הללו מודגש העיקרון לפיו
יצירת חיים שמורה לאל ולא לאדם ,וניסיון של האדם ליצור חיים בעצמו הוא חילול הקודש.
סופר המדע הבדיוני אייזיק אסימוב , Asimov Isaacששאף לשבור עיקרון זה ,היה אחד
הראשונים שטיפל בשאלת היחס בין האדם לרובוט בסדרת ספרי הרובוטים שלו (,)6699
שהמפורסם בהם הוא " ."I Robotבספרים אלו הוא טובע את המושג "תסביך פרנקנשטיין"
המתאר את הרתיעה והפחד של האדם מפני המכונה שתקום על יוצרה .אייזיק אסימוב גם
השכיל לנסח שלשה "חוקים" שעומדים עד היום בבסיס הפילוסופיה שמאחורי הרובוטיקה:
( )6רובוט לא יזיק לאדם
( )9רובוט תמיד יציית לאדם ,אלא אם אלא אם כן יתנגש עם ()6
( )0תמיד יגן על עצמו בהנחת ( )6ו.)9(-
המילה רובוט נזכרה לראשונה בשנת 6696עת פורסם המחזה R.U.Rשל הסופר הצ'כי קארל
צ'אפק ( Karl Čapekבתרגום לעברית" ,הרובוטים האוניברסלים של רוסום") .המילה עצמה
לקוחה מן המילה Robotaבשפה הצ'כית שמשמעותה 'עבדּות'.2
היסטוריה קדומה
הניסיונות התיאורטיים להבנת הניסוח המתמטי של בעיות
מכאניות והניסיון הפרקטי הדרוש לבנייתן של מכונות ,ידועים אף
הם משחר ההיסטוריה :הגיאומטריקאי המצרי הֶ רון ,Heronבן
המאה הראשונה לפנה"ס ,תכנן ובנה מספר רב של מכונות
אוטומטיות לנשיאת משקלים ושינועם .בנוסף עסק בפן התיאורטי
של הבעיות ותיאר שימוש בלחץ אוויר כאמצעי אקטואציה .בן
אותה תקופה בערך הוא מנגנון אנטיקיתרה
Antikythera
- mechanismמחשב אנלוגי קדום אשר תוכנן ככל הנראה על מנת
2
למעשה ,קארל צ'אפק לא המציא את המילה בעצמו .במכתב אזכור קצר לאטימולוגיה של מילון אוקספורד
באנגלית הוא מציין כי העדיף את המילה ,labořiאשר בלטינית פרושה "לעבוד" ,ורק לאחר התייעצות עם אחיו
החליף את השם.
7
8
ד"ר ניר שוולב
מבוא לרובוטיקה
לחשב מיקומים אסטרונומיים של גרמי שמיים .המנגנון התגלה סמוך לאי היווני אנטיקיתרה
בין קיתרה לכרתים והוא מתוארך לתקופה שבין 100לפנה"ס לבין 150לפנה"ס .המנגנון
כלל ככל הנראה 03גלגלי שיניים ,חלקם פלנטאריים עם רוחב שן קטן ממילימטר ,וגודלו של
המכשיר כולו כ 33x17x9-ס"מ.
הממציא המוסלמי-טורקי אל ג'זארי שחי במאה ה ,69-תכנן ובנה מספר רב של מכונות
אוטומטיות כולל מכשירים אוטומטיים למטבח ,מכונה מוסיקלית אוטומטית המופעלת
הידראולית וארבעה רובוטים דמויי אדם הניתנים לתכנות באמצעות החלפת פיקות ,שבתורם
הפעילו מערך קורות לתיפוף נעימות שונות.
היסטוריה מאוחרת
בשנות השבעים של המאה ה 61-נוצרו מספר רב של רובוטים דמויי אדם שיכלו להגיש תה,
לירות חיצים ,לכתוב ולנגן בידי מספר ממציאים משווייץ ,גרמניה ויפן.
כאמור ב 6690הוצג לראשונה המחזה R.U.Rועמו ההתייחסות הראשונה למושג רובוט.
ENIACהיה המחשב האלקטרוני הראשון שהיה בעל היכולת להיות מתוכנת מחדש
באמצעות חיווט בלבד .המחשב פותח לצורך פתרון מגוון רחב של בעיות חישוביות והוכרז
מוכן לשימוש באוניברסיטת פנסילבניה ב . 6699ב 6691 -פותח הטרנזיסטור הראשון
במעבדות בֶ ל בניו ג'רסי וסלל את הדרך לפיתוח הרובוט הראשון המופעל באופן דיגיטאלי.
הרובוט הראשון ,ששמו iUnimateנבנה ב( 6659 -על ידי מי שנחשבים כיום כאבות
הרובוטיקה המודרנית ,אנגלברגר ודבול.
F.
Joseph
&
Devol
(George
Engelbergerונכנס לשימוש בחברת ג'נרל
מוטורס חמש שנים מאוחר יותר .זהו רובוט
0דרגות חופש טורי ,שמטרתו הייתה שינוע
של פיסות מתכת לוהטות במשקלים של עד כ
533ק"ג וריתוכם במקומות המיועדים .סדר
הפעולות הרצוי נשמר על גבי תוף מגנטי (ששקל כ 6133-ק"ג).
ה ,Unimate -שּאפשר
לראשונה ביצוע עבודות בזול וביתר דיוק ואמינות מאשר בני אדם ,סלל את הדרך לרובוטים
התעשייתיים הנמצאים כיום בשימוש נרחב ומחליפים בני אדם במגוון משימות .בשנת 6696
ויקטור שיינמן Victor Scheinmanמאוניברסיטת סטנפורד המציא רובוט 9דרגות חופש
טורי בשם זרוע סטנפורד Stanford Armשלאחר מספר גלגולים התפתח לרובוט מסוג פומה
- Pumaמן השכיחים בתעשייה כיום.
מבוא לרובוטיקה
רובוט מדגם PUMA
ד"ר ניר שוולב
רובוט מדגם SCARA
בשנת 6630חברה גרמנית בשם Kuka Roboticsיצאה גם היא לשוק עם רובוט 9דרגות חופש
טורי חדש בשם Famulusובאמצע שנות ה 33-נפתחה תחרות על השליטה בעולם הרובוטיקה
כאשר מספר תאגידים כמו ג'נרל אלקטריק ,ג'נרל מוטורס ואוטומטיקס נכנסו אף הם לשוק.
לבסוף ,הראייה העסקית האמריקאית התבררה כקצרת טווח ,וכיום שולטים בשוק
הרובוטיקה התאגידים היפניים Fujitsu ,Toyota, Sony, Hondaועוד .ב 6669-הכריזה
הונדה על הרובוט דמוי האדם ,P2ולאחר ההכרזה הזו יצאו מספר חברות יפניות עם רובוטים
דומים .מאז ועד היום חלה התפתחות מואצת בתחום ומניין סוגי הרובוטים רק הולך וגדל.
נזכיר רק מספר אירועים מכוננים – 6613 :יוצר רובוט טורי בשם – 9333 Scaraהוצג
לראשונה רובוט מקבילי מדגם דה וינצ'י לאופרציות לפרוסקופיה רפואיות – 9336 .חברת
סוני מכריזה על ,Asimoרובוט דמוי אדם – 9339 .הרובוט Spiritמסייר באופן אוטונומי על
פני מאדים.
9
11
ד"ר ניר שוולב
מבוא לרובוטיקה
רובוט מדגם de Vinci
רובוט מדגם ASIMO
מכאניקה
נסקור כעת בקצרה את מבנהו המכאני של הרובוט הקרוי גם שרשרת קינמטית ( Kinematic
)Chainשרשרת קינמאטית בנויה מחוליות ) , (Linksומפרקים ) ,(Jointsעליהם נעמוד בפרק
הבא וממפעילים ( ,)Actuatorsאשר מאפשרים ריבוי דרגות חופש .בקצה כל שרשרת
קינמטית קבועה יחידת הקצה ( )End Effectorשלה גיאומטריית השרשרת הקינמטית
קובעת את סוג הרובוט.
רוב הרובוטים המודרניים הם טוריים באופיים ,ונקראים רובוטים טוריים )(Serial Robots
כלומר בנויים כשרשור סדרת חוליות ומפרקים (כדוגמת הזרוע האנושית הבנויה בסיס ,מפרק
הכתף ,חוליית הזרוע ,מפרק המרפק ,חולית האמה ,מפרק שורש כף היד ,חולית כף היד
המשמשת אותנו כיחידת קצה) .סוג נוסף של רובוטים הם הרובוטים המקביליים (Parallel
) robotsהבנויים שרשראות קינמטיות סגורות (כדוגמת חצובה בת שלוש רגליים
טלסקופיות ,כל רגל קושרת בין מיקום יחידת הקצה וכיוונה לאדמה) .3מבנים אחרים
המחקים את המבנה המכאני של בני אדם ,חיות וחרקים ,הם בעלי גיאומטריית שרשור
מורכבת יותר ,והם נדירים יחסית בתעשייה ומקומם בדרך כלל במעבדות מחקר.
המפעילים ) )Actuatorsהם "השרירים" של הרובוט -החלקים אשר ממירים את האנרגיה
הזמינה לתנועה .4קיים מגוון של מפעילים:
.1מנועי DCחשמליים ( )brushed and brushless DC motorsהם השכיחים ביותר.
.2מנועי ACחשמליים שפעולתם נסמכת על מקור מתח מרובה פאזות.
.3מנועי סרבו ) - (Servo motorsמנועים עם בקרה מובנית בחוג סגור ,כלומר ,מעגל משוב
המשנה את כוח הדחק שמגיע למנוע בהתאם למידע מחיישן ומנתונים של המשתמש.
3להגדרה פורמאלית של רובוטים מקביליים ודיון בהם ראו פרק .66
4ברוב המקרים תהא זו אנרגיה חשמלית ,אך שכיח גם השימוש בלחץ אוויר.
ד"ר ניר שוולב
מבוא לרובוטיקה
האות המוזן למנוע בדרך כלל מבוקר בשיטה הנקראת PWMועיקרה הזנת המנוע באות
ריבועי שרוחבו (באחוזים מהאורך הכולל של האות) קובע את זווית המנוע.
.4מנועי צעד ) - (Stepper motorמסתובבים בצעדים דיסקרטיים תחת שליטת בקר.
.5מנועי פיאזו ) )Piezo motorאשר בסיס עקרון פעולתם האחד הוא רטט מהיר של גביש
פיאזואלקטרי ,רטט אשר גורם לתנועה סיבובית או ליניארית (לדוגמא ,באמצעות סיבוב
בורג הנעה ,עקרון אחר הוא זחילה של מכאניזם עשוי גביש פיאזו על גבי מסילה בסגנון
תנועת זחל .)InchWorm
.6שרירי אוויר ( ,)Air muscleהם מפעילים ליניאריים שעיקרון פעולתם דומה לזה של
בלון ,בהבדל היחיד שההתארכות מוגבלת לממד האורך (כ.)93%-
.7פולימרים אלקטרו-פעילים ( - )Electroactive polymersקבוצת פולימרים המשנים את
צורתם בהשפעת גירוי חשמלי.
.8ננו-צינוריות ( - )Elastic nano tubesזהו אלמנט הנפעל לגירוי חשמלי .הננו-צינוריות הן
בעלות מבנה מולקולרי המאפשר להן מעוות אלסטי גדול במיוחד.
.9סגסוגת זוכרת צורה ( )Shape Memory Alloyהעשויה תיל .Nitinolכאשר מחממים
את התיל הוא מתקצר ב( 63% -בשונה ממתכות אחרות) .אציין כי במהלך ההתקצרות
מתפתחים מאמצים ניכרים ,בשיעור של כ 6.5-טון לסנטימטר מרובע .תיל דק כשערה,
בקוטר ארבע אלפיות המילימטר ,יכול לשאת משקל של 069גרם.
.11סולנואיד ( – )Solenoidאלמנט הנעה ליניארי העשוי סליל סביב ליבת ברזל בעל שני
קטבים .כאשר זרם זורם דרך הסליל ,נוצר כוח אלקטרומגנטי המושך את ליבת הברזל.
כאשר נפסק הזרם ,נפסק גם הכוח האלקטרומגנטי ופיסת הברזל חוזרת למקומה
ההתחלתי על ידי קפיץ.
.11אקטואטור הידראולי Hydraulic
(העושה שימוש בשמן) ,ואקטואטור פנאומטי
( Pneumaticהעושה שימוש בגז) מייצרים תנועת בוכנה ליניארית .מערכות הידראוליות
מנוצלות כאשר קיימת סכנת התלקחות .מערכות הנעה פנאומטיות נפוצות בזרועות
אוחזות .ע"י דחיסת הגז המנגנון נהיה נוח יותר לתפעול ,והסיכוי שהחפץ בו אוחז
הרובוט יישבר קטן .רובוטים זקוקים ,אם כן ,לאלמנט אחיזה בכדי לבצע מניפולציות על
סביבתם.
כאמור ,בקצה כל שרשרת קינמאטית קבועה יחידת הקצה ) ,(End Effectorהמכּונה בספרות
גם כתפסנית ) .(Gripperזוהי היחידה המכאנית שיעודה הוא אחיזה ,חישה ,ראייה ,כלי
עיבוד וכדומה .רוב הרובוטים התעשייתיים הנדרשים למגוון פעולות מאפשרים החלפה
מודולארית של יחידת הקצה שלהם .אחרים ,בעלי מבנה תפסנית מורכב מספיק (לעיתים
11
12
ד"ר ניר שוולב
מבוא לרובוטיקה
בצורת יד אנושית) המאפשר אחיזה במגוון רב של צורות מרחביות .6,5נסקור את הבולטות
מבין יחידות הקצה:
.1יחידת קצה לופתת -האחיזה מתבצעת באמצעות לחיצת אצבעות על גבי משטחי
האחיזה ובהסתמך על קונוסי החיכוך ,כדוגמת היד האנושית הלופתת ידית ספל .נפוץ
מאוד בתעשייה ובמחקר.
.2יחידת קצה כלי – כלי עבודה משמש כיחידת הקצה .כדוגמאות נציין כלי ריתוך ,נעיצה
ופטישים.
.3יחידת קצה דוחפת – הרובוט מבצע פעולות על הגיאומטריה ללא לפיתה ובהסתמך על
חיתוך קונוסי כוח (ראה [ ] 1ברשימת המקורות) ,השימוש ביחידת קצה כזו נפוץ עבור
רובוטים צועדים ומטפסים ורובוטים המשמשים בתעשייה כמכונות ממיינות.
.4יחידת קצה מגנטית -אחיזה והתנתקות ע"י הפעלה וכיבוי של אלקטרו-מגנט ,קירוב
והרחקה של מגנט קבוע לפני המשטח או חציצה בחומר דיאמגנטי (ראה [ ]6ברשימת
המקורות) .משמש בתעשייה בעיקר לצרכי מיון ואלמנט אחיזה לרובוטים מטפסים.
.5יחידת קצה וואקום אקטיבי -ההדבקה וההתנתקות נעשים באמצעות הפעלת מדחס.
אינו נפוץ ומשמש בעיקר לרובוטים מטפסים ,ולרובוטים המשמשים כמנופים בתעשייה.
.6יחידת קצה וואקום פסיבי – אחיזה והתנתקות נעשית ע"י משיכה לא סימטרית של
פומית וואקום .אינו קיים בתעשייה ומשמש בעיקר במעבדות מחקר עבור רובוטים
מטפסים.
.7יחידת קצה אוחזת באמצעות דבק .אינו קיים בתעשייה ומשמש בעיקר במעבדות
מחקר עבור רובוטים מטפסים.
.8יחידת קצה האוחזת אחיזת קידוח – יצירה פעילה של נקודות אחיזה .אינו קיים
בתעשייה ומשמש במעבדות מחקר עבור רובוטים מטפסים.
.9יחידת קצה האוחזת אחיזת קוצים – כדוגמת חרקים .אינו קיים בתעשייה ומשמש
בעיקר במעבדות מחקר עבור רובוטים מטפסים.
.11יחידת קצה שממית ( - (Geckoאחיזה הנסמכת על אפקטים פיזיקאליים .נכון ליום
כתיבת הספר משמש במעבדות מחקר בלבד.
רובוטים ניידים
רובוטים המסוגלים לתנועה עצמאית (באופן חלקי או מלא) תוך התייחסות לסביבתם מכונים
רובוטים ניידים ( .)Mobile Robotsהספר אינו עוסק ברובוטים ניידים ,למרות חלקם הלא
5ראו לדוגמא התמונה שעל גבי כריכת הספר.
6על התיאוריה של אחיזה לא נעמוד בספר ,עם זאת לשם העניין נזכיר את המושג הנקרא קונוס חיכוך :גוף
המתחכך בתפסנית בנקודה מסוימת פורש קונוס דמיוני .הגוף יישאר סטאטי כל עוד הכוחות הנפעלים עליו
נשארים "בתוך" הקונוס .בכדי לאחוז בחפץ באופן יציב יש,אם כן ,לפרוש מספיק קונוסים כך שכל כוח הנפעל
על החפץ ישאיר את החפץ במקומו .הקורא המתעמק ימצא עניין ב ]06[ -במקורות.
ד"ר ניר שוולב
מבוא לרובוטיקה
מבוטל במחקר התיאורטי והמעשי כיום .עם זאת נציין את מנגנוני התנועה הנפוצים)6( :
תנועה ע"ג גלגלים .מספר הגלגלים משתנה מגלגל יחיד (ראה [ ]63ברשימת המקורות) וכלה
בריבוי גלגלים ( )9תנועה ע"ג זחל ( )0התקדמות נחש ( )9החלקה ( )5שחייה ( )9צעידה.
הטכניקות העומדות בבסיס הבקרה על הרובוטים הניידים נחלקות לשלוש קבוצות עיקריות:
.1טכניקת נקודת מומנט אפס ( )Zero Moment Positionשעיקרה חישוב מהיר של הכוחות
האינרציאליים ופיצוי עליהם באמצעות תאוצה .נדגיש שהתנועה בשיטה זו דורשת
חישובים דינמיים בצד חישובי כוחות .נעיר כי בני אדם אינם נוקטים בשיטה זו לצעידה.
.2קפיצה ,פיצוי דינמי – ייצוב דינמי שננקט במספר רובוטים ניסויים אשר בבסיסה עומד
הרעיון שקפיצה (או צעידה) לכיוון מסוים מפצה על נפילה לאותו כיוון.
.3דינמיות פסיבית – שימוש במומנט האינרציה של הגפיים לשם שמירה על איזון וצעידה.
לדוגמא :בעת צעידה על מדרון יוכל הרובוט לצעוד ,אגב הספק מינימאלי למנועים.
מבנה הספר
הספר אינו מתיימר לכסות את כל התיאוריה העומדת בבסיס העיסוק ברובוטיקה ,אלא
להוות ספר לימוד ותרגול עבור קורס המבוא ברובוטיקה בלבד .בכתיבתו הנחתי כי החומר
הבסיסי באלגברה ,חשבון אינפיניטסימאלי ,פיזיקה בסיסית ודינמיקה מוכר לקורא .בשלושת
הפרקים הראשונים נדון בבסיס הקינמטי של העיסוק ברובוטיקה .בעיית הקינמטיקה
הישירה ,שבה נדון בפרק ,9עוסקת בחישוב מיקום ואוריינטציה של חוליות הרובוט .בעיית
הקינמטיקה ההפוכה ,שבה נדון בפרק ,5עוסקת בחישוב ערך פרמטרי של מפעילים בהינתן
מצב יחידת הקצה .באנליזת מהירות התפסנית ,שבסיסה קירוב ליניארי של הקינמטיקה
הישירה ,נעסוק בפרק .9בפרק 3נעסוק באנליזה סינגולארית בה הקירוב הלינארי מאבד
ממד .בפרק 1נעסוק באנליזת כוחות ,שעיקרה חישוב הכוחות הנחוצים במפעילים לקבלת
כוח שעל יחידת הקצה להפעיל .פרק 6מעמיק את הדיון באנליזת כוחות ודן באנליזת
קשיחות ,כלומר במצב בו המפרקים מדגימים גמישות משמעותית .בפרק 66נדון ברובוטים
מקביליים שאט אט תופסים נפח בתעשייה .נחתום את הספר בפרק 69הדן בפן תיאורטי
בחקר רובוטיקה -מרחבי הקונפיגורציה שלהם .כלומר המרחבים המייצגים את כל
הקונפיגורציות האפשריות .אלו האחרונים חיוניים לבעיות תכנון תנועה ועומדים בבסיס כל
התיאוריות שנלמד בספר .מאחר שהעיסוק ברובוטיקה מזמן לעיתים קרובות את הצורך
בפתרון מערכת משוואות לא לינארית מצאתי לנכון לסקור את הנושא בקצרה בנספח א .אחד
מהעיסוקים החשובים בחקר רובוטיקה הנובע הוא נושא תכנון התנועה; הספר דן בנושא
בקצרה בלבד בפרק 69ובנספח ב' .הדינמיקה בהקשר הרובוטי עוסקת בקשרים בין הכוחות
המסופקים לתאוצות יחידת הקצה ניגע בנושא רק בקצרה בנספח ג' .בכתיבת הספר נעזרתי
בספרים העדכניים ביותר אשר בנמצא ראו [ ]6עד [ ]3ברשימת המקורות ,ובספרות עדכנית
המתפרסמת בעיתונות המקצועית ראו [ ]1ועד [ .]09כולי תקווה כי הקורא ימצא את הספר
בהיר ומקיף .בהצלחה.
13
14
ד"ר ניר שוולב
מבוא לרובוטיקה
.6דרגות חופש
רובוט
Mechanical
)Manipulator
()links
מורכב
ממספר
(Robot,
חוליות
המחוברים ביניהם באמצעות
מפרקים ( .)Jointsמספר דרגות החופש
( )Degrees Of Freedomשל מכאניזם כזה
תלוי במספר החוליות והמפרקים באופן
חיבורם יחדיו ובאופיים של המפרקים.
בפרק זה נגדיר מהם חוליות ,אילו מפרקים
קיימים ,נגדיר מהן שרשראות קינמטיות.
לאחר מכן נעמוד על המושג דרגות חופש
ונלמד כיצד לחשב אותן.
הגדרת המושג רובוט :רובוט הוא מכונה (נייחת או ניידת) הניתנת לתכנות חוזר .על המכונה
לשמש למגוון שימושים .7כאשר המונח תכנות מתייחס לעריכת תוכנה ללא שינויים מכאניים.
ההגדרה היפנית שונה במעט וכוללת גם מכאניזמים פשוטים יותר.
חוליות ) (Linksהם אלמנטים קשיחים 8אשר יוצרים את הרובוט .עם זאת ,על המתכנן
לזכור שהחוליות מציגות גם תכונות אלסטיות בנוכחות מאמצים גדולים .ברור ששתי חלקים
אשר אינם מציגים כל תנועה יחסית ביניהם יוכלו להיחשב ואכן יחשבו כחוליה אחת
(לדוגמא :גלגלי שיניים צמודים לציר ומקובעים האחד לשני ,יחשבו כחוליה אחת לשם
חישובים).
שתי חוליות ניתנות לחיבור באמצעות מפרקים ) ,(Jointsבמקרה כזה זוג
החוליות נקרא בספרות זוג קינמטי ) .(Kinematic pairהמפרק מאפשר תנועה מוגבלת בין
שתי החוליות אותן הוא מחבר .התנועה מוגדרת על פי האילוצים המגבילים אותה ,כאשר
סוג האילוץ קובע גם את סוג הזוג הקינמטי:
זוג קינמטי המקיים מגע בנקודה אחת או
לאורך קו ייקרא זוג קינמטי גבוה ) ,(High pairואילו זוג חוליות המקיימות מגע על פני
משטח דו ממדי ייקרא זוג קינמטי נמוך ). (Low Pair
בתעשיית הרובוטיקה רווח השימוש במספר מצומצם של מפרקים .נציין את השכיחים
ביותר:
7פורמאלית ב 6663 -נוסחה ההגדרה ( :)6663 ISO TR 8376רובוט תעשייתי הוא מכונה (נייחת או ניידת) הניתנת
לתכנות חוזר .על המכונה לשמש למספר אפליקציות תעשייתיות .המונח תכנות מתייחס לעריכת תוכנה ללא
שינויים מכאניים.
8בספרות המקצועית לעיתים מדברים על חוליות גמישות ,בספר נתחשב אך ורק בחוליות שאינן קשיחות.
ד"ר ניר שוולב
מבוא לרובוטיקה
15
iדרגות חופש
סימן
איור
שם
זוג קינמטי
מפרק סיבובי ,מפרק
המגע מתקיים על
יסומנו ב
רוטציוני (סיבוב על ציר)
R
המחבר ולכן זהו זוג
אחת
דג"ח
( ) f 1היא הזווית
בין
היחסית
Revolute/Rotational
נמוך.
מפרק פריזמטי ,קרוי גם
המגע מתקיים על
בעל
ליניארי (הזזה
גבי מעטפת המפרק
( ,) f 1היא המרחק
מפרק
P
גבי
מעטפת
הפין
בעל
fi
לאורך ציר)
החוליות.
המחליק ולכן זהו זוג
נמוך.
אחת
דג"ח
בין החוליות.
Prismatic / slider
מפרק כדורי ,מכונה גם
המגע מתקיים על
(סיבוב
גבי מעטפת כדור
מפרק
ספרי
חופשי סביב נקודה)
S
ההחלקה ולכן זהו
זוג נמוך.
בעל 0דג"ח ( ,) f 3
הן שלושת הזוויות
את
המגדירות
הכיוון של חוליה
Spherical
ביחס
אחת
לחברתה.
מפרק ַק ְר ָדן קרוי גם
המגע מתקיים על
אוניברסלי,
שני
מפרק
U
גבי
מעטפת
המחברים
ומפרק הוק (סיבוב בשני
הפינים
צירים)
ולכן זהו זוג נמוך.
מפרק צילינדרי (הזזה
המגע מתקיים על
וסיבוב
גבי מעטפת המפרק
C
סביבו)
המחליק ולכן זהו זוג
נמוך.
Cylindrical
E
מפרק מישורי (תנועה
המגע מתקיים על
צמודה על מישור)
המישור על כן זהו
זוג נמוך.
Plane pair
הן
המגדירות
את
הכיוון של חוליה
ביחס
לחברתה.
Hooke's
לאורך
שתי
הזוויות
אחת
Universal / Cardan /
ציר
בעל 9דג"ח ( ,) f 2
בעל 9דג"ח ( ,) f 2
הוא
המרחק
החוליות,
בין
והזווית
ביניהן.
בעל 0דג"ח ( ,) f 3
הן זווית הסיבוב
ומיקום
האחת
השנייה.
החוליה
על
גבי
16
ד"ר ניר שוולב
מבוא לרובוטיקה
מפגש גלגלי שיניים
המגע
מתקיים
לאורך קו על כן זהו
Gear train
G
זוג פיקה ועוקב
זוג גבוה.
המגע
מתקיים
לאורך קו על כן זהו
CP
follower
and
Cam
זוג גבוה.
בעל
דרגת
חופש
אחת ( .) f 1
בעל שלוש דרגות
חופש ( .) f 3
pair
הבהרה :זוג גלגלי השיניים ניתן למידול כמנגנון ארבעה מוטות מישורי ) ABCDראה איור
בתרגיל :)66.6אם נחשוב על ADכעל חוליית האדמה ,חוליה ABוחוליות CDייצגו את
הווקטור הנמתח מציר גלגלי השיניים לנקודות המגע בהתאמה .החוליה הנותרת BCשנחשוב
עליה כקצרה מאוד מייצגת את המגע בין גלגלי השיניים .תחת התיאור הזה ובהתחשב
בעובדה שקביעת זווית אחת במנגנון ארבע חוליות קובע את מצב המכניזם כולו ,נקל להיווכח
שאמנם לזוג גלגלי שיניים דרגת חופש אחת.
הערה :לבד מהמפרקים שצוינו בטבלה נזכיר עוד סוג שהשימוש בו נדיר בעולם הרובוטיקה
(ראה לדוגמא [ ]44ברשימת המקורות) :ספירה מתגלגלת עם החלקה על מישור -במקרה
הזה מדובר בחמש דרגות חופש 0( .דרגות חופש עבור האוריינטציה 9 ,דרגות חופש למיקום).
שרשרת קינמטית ) ( Kinematic Chainהיא תצרף של חוליות המחוברות ביניהן באמצעות
מפרקים .כאשר כל חוליה מחוברת לחוליה אחרת דרך שני מסלולים (כלומר שני רצפים של
מפרק – חוליה – מפרק - ... -מפרק) שונים השרשרת נקראת שרשרת קינמטית סגורה
) .(Closedכאשר כל חוליה מחוברת לחוליה אחרת במסלול יחיד השרשרת נקראת שרשרת
קינמטית פתוחה ) .(Openשרשרת קינמטית יכולה להיות
שילוב של השניים ,ובמקרה כזה תקרא השרשרת –
שרשרת קינמטית היברידית ).(Hybrid
שרשרת קינמטית נקראת מכאניזם ) (Mechanismאו מנגנון ) (Linkageכאשר אחת או יותר
מן החוליות מקובעות לאדמה .חוליה זו קרויה בסיס המכאניזם .מהות המכאניזם היא
העברת תנועה/סיבוב או כוח/מומנט מחוליה אחת או יותר (חולית הכניסה) לחוליה אחרת
(חולית היציאה) .דוגמת המכאניזם שבאיור ממירה תנועה סיבובית לתנועה ליניארית וההפך.
ד"ר ניר שוולב
מבוא לרובוטיקה
מכונה ) (Machineהיא שילוב של מכאניזמים בתוספת מקור כוח חיצוני (לא ידני) לחוליות
הכניסה .מכונת כביסה ,לדוגמא ,משתמשת במנוע חשמלי להנעת מנגנון הפחתת מהירות ,וזה
בתורו מסובב את תוף הכביסה.
סימון :בכדי להבהיר את המבנה של שרשרת קינמאטית פתוחה נתונה וסוג המפרקים בהם
היא עושה שימוש ,נהוג לסמנה ברצף האותיות (הנקראות משמאל לימין) המסמנות את סוגי
המפרקים מהמפרק הראשון הקרוב ביותר לבסיס ועד לרחוק ביותר (לדוגמא RUSיסמן
שרשרת פתוחה המורכבת ממפרק סיבובי ,קרדן וספירי).
בהינתן גיאומטריה של רובוט ,נשאלת השאלה כמה מנועים נדרשים להפעלתו; השאלה כפי
שנוסחה כאן ,יכולה להתפרש לשני פנים והתשובות לשאלות אלו אינן תמיד זהות:
.1מהו מספר המנועים שידרשו לקבוע מיקום ואוריינטציה של כל חוליה וחוליה ברובוט?
התשובה לשאלה זו מכונה בספרות המוביליות ) (Mobilityשל הרובוט.
.2מהו מספר דרגות החופש בהן נעה יחידת הקצה ? התשובה לשאלה זו מכונה בספרות
מספר דרגות החופש ( )Degrees Of Freedomשל לרובוט.
לבד ממספר מצומצם של מכאניזמים ,ניתן לחשב את המוביליות כתלות במספר החוליות,
מספר המפרקים וסוגם,
ואופן החיבור של החוליות
והמפרקים.
האיור שמשמאל ממחיש
את מושג המוביליות
(מסומן
ב.)F-
חוליות
המכאניזם המשולשי אינן
יכולות לנוע אחת ביחס
לשנייה ולכן המוביליות מתאפסת .לעומת זאת ,החוליות במכאניזם ארבעת החוליות (Four
) bars mechanismיכולות לנוע אחת ביחס לשנייה .יתר על כן ,אם נקבע את הזווית
יקבעו המיקום והאוריינטציה של החוליות כולן (ולדוגמא הזווית תקבע כפונקציה של
הזווית .) בדומה ,החוליות במכאניזם חמשת המוטות תקבענה כולן בהתאם לשתי הזוויות
1 , 2ולכן המוביליות של המנגנון תהא .9
נבנה את הנוסחה למוביליות באמצעות "חיבור" חוליה אחרי חוליה .נתחיל מהמקרה
המישורי (כל החוליות נעות במישור) :חוליה חופשית המוגבלת לתנועה במישור יכולה
להעתיק את מקומה בכוון Xאו Yולהסתובב בזווית לעומת ציר , Xולכן המוביליות שלה
תהא .0אם נוסיף חוליה נוספת יעלה ערך המוביליות ל 9-וכן הלאה .וכך עבור המקרה
17
18
ד"ר ניר שוולב
מבוא לרובוטיקה
המישורי m ,חוליות חופשיות ,תהנה בעלות מוביליות .3mהוספת מפרקים תגביל ,כמובן,
את אפשרויות התנועה של החוליות .נדמיין כעת שתי חוליות המחוברות ביניהן במפרק
סיבובי ומוגבלות לתנועה במישור .במקרה כזה נוכל למקם את החוליה הראשונה ולסובבה
כרצוננו ( 0דג"ח) ,ובעשותנו זאת קבענו את מיקום החוליה השנייה (כלומר נגזלו ממנה שתי
דרגות חופש) ונשאר עבורה החופש לסיבוב בלבד ( 6דג"ח) .סה"כ עבור תוספת המפרק
הסיבובי "שילמנו" בשתי דרגות חופש .ובהכללה נוכל לרשום F 3m 2f1כאשר f 1מציין
את מספר המפרקים הסיבוביים F ,את המוביליות ו – mאת מספר החוליות .בסימונים
המקובלים בספרות ובהכללה לכל סוגי המפרקים הנוסחה תראה כך:
F 3 n - 1 - g f i i
)(1.1
זהו קריטריון גרובלר-קוצבאך ( )Grüebler-Kutzbach criterionעבור המקרה המישוריn .
מציין את מספר החוליות כולל חולית האדמה (תמיד נוסיף חולית אדמה אחת אם ברצוננו
לחשב את המוביליות יחסית לאדמה) g ,את מספר המפרקים ,ו f i -את מספר המפרקים
בעלי iדרגות חופש (דג"ח) (ראה עמודה שמאלית בטבלת
המפרקים) .נשים לב כי אם "האדמה" נספרת (גם אם אינה חלק
מהמכניזם) התוצאה מלמדת על המוביליות ביחס לאדמה (כלומר
כולל תזוזות וסיבובים לעומתה) בעוד שאם האדמה אינה נספרת
התוצאה מלמדת על המוביליות ה"פנימית" של המכאניזם.
דוגמא :עבור המכאניזם המקבילי המישורי 5Rשבאיורn=5 ,
(החוליות מוספרו באיור) g=5 ,ו( f1=5 -המפרקים הסיבוביים בעלי דג"ח אחת) לכן:
F 3 n - 1 - g f i i 35 - 1 - 5 5 1 2
כלומר ,דרושים שני מנועים להנעת המכאניזם .בחירת המפרקים שיפעילו את המכאניזם היא
שרירותית מבחינה קינמטית ,בשלב זה ,ונתונה לשיקולי המתכנן.
דוגמא :עבור המכאניזם המקבילי המישורי RRRP
שבאיור g=4 ,n=4 ,ו( f1=4 -המפרקים הסיבוביים והמפרק
הפריזמטי
כולם
בעלי
דג"ח
אחת).
לכן:
F 3 n - 1 - g f i i 34 - 1 - 4 4 1 1
לעיתים יש צורך בחיבור של שלוש חוליות ויותר למפרק יחיד .במקרה כזה
נספור k-1מפרקים עבור התפצלות של kחוליות.
התפצלות של 1חוליות
תחושב כ 6-מפרקים
ד"ר ניר שוולב
מבוא לרובוטיקה
תרגיל :4.4מצא את המוביליות של המכאניזם המישורי
שבאיור.
תשובה :אם נביא בחשבון את הפלטפורמה העליונה כחוליה
אחת ,נקבל:
n 12 , f1 g 15
התפצלות של 1חוליות
תחושב כ 6-מפרקים
; F 3 12 - 1 - 15 15 3
גם אם נחשוב על הפלטפומה כעל שלוש חוליות התשובה תהיה
זהה; g f1 18 , n 14 :
F 3 14 - 1 - 18 18 1 3
תרגיל :4.5כמה מנועים על המתכנן להכניס לרובוט המקבילי
המישורי 3RRRשבאיור (כאן ,הספרה 0בתחילת הסימון
מציינת את מספר הרגליים).
תשובה:
, g f1 15
; n 8
F 3 8 - 1 - 9 9 1 3
מכאן שדרושים שלושה מנועים להנעת המכניזם .במילים אחרות אם נקבע שלושה מפרקים
יתקבל ,F=0בדקו זאת
הערה :במקרים בהם , F=0המכאניזם למעשה אינו יכול לזוז .במקרים בהם F<0עלולים
להתפתח כוחות במפרקים (כלומר צריך להפעיל כוחות ,כדי להרכיב את המכאניזם או
לחילופין יש לדאוג שהמכניזם יהיה מדויק או עם חופשים בצירים) ושוב המכאניזם אינו יכול
לזוז .זהו למעשה מסבך "לא מסוים סטאטית".
הערה :חישוב המוביליות נכון עבור רוב המכאניזמים אבל לא עבור כולם כדי להבין זאת
נתמקד
במכאניזם
הפרדוקסאלי
)(Paradoxical
שבאיור .חישוב מראה כי :
n 5, g f1 6
; F0
אולם בפועל ברור כי .F=1הבעיה טמונה בבחירת יחסי האורכים .אם אורך הזרוע המרכזית,
לדוגמא ,הייתה אחרת מהשתיים האחרות ,המכאניזם היה אכן "תקוע" ,אולם בבחירה
הנתונה המכאניזם הוא בעל מוביליות .6מכאן נסיק כי נוסחת המוביליות נכונה בהנחת
גנריות המכאניז ם ,כלומר בהנחה שאין יחסים מיוחדים בין אורכי החוליות .עמל רב הושקע
במחקר לניסוח קריטריון ברור יותר לחוסר ההתאמה של הנוסחה אך קצרה היריעה מלהכיל
את המסקנות (הקורא המתעניין יעיין ברשימת המקורות ב [.)]69
19
מבוא לרובוטיקה
21
ד"ר ניר שוולב
תרגיל ( :4.6א) חשב את המוביליות של
המכאניזם שבאיור.
תשובה( :א) המכאניזם כולל 5חוליות
(אדמה ,שני גלגלי שיניים ,הפלטה המשולשת
וגלגל שיניים נוסף המקובע לידית) .המפרק
הסיבובי המחבר בין האדמה ,גלגל השיניים
הגדול והפלטה יילקח בחשבון כ 9מפרקים
כיוון שהן הפלטה והן גלגל השיניים
חופשיים להסתובב באופן בלתי תלוי ביחס
לאדמה .המפרק הסיבובי השני מחבר בין
הפלטה לגלגל השיניים האמצעי .המפרק הסיבובי השלישי מחבר בין גלגל השיניים המחובר
לידית והפלטה .קיימים 9מפרקים נוספים ,כל אחד בתורו מורכב מזוג גלגלי שיניים ,כלומר:
9מפרקים נוספים בעלי 9דרגות חופש כ"א .ולסיכום:
, g 6, f1 4, f 2 2
; n 5
F 3 5 - 1 - 6 4 1 2 2 2
המכאניזם כולו יכול להסתובב סביב ציר החיבור לאדמה .בנוסף ,ובאופן בלתי תלוי ,ניתן
לסובב את ידית המכאניזם.
חישוב המוביליות למקרה התלת מימדי יעשה בדרך דומה ,כאשר השוני הוא במספר דרגות
החופש הנתונות לחוליה החופשית לנוע במרחב שלושה ממדי .במקרה זה החוליה יכולה
להעתיק את מקומה בשלשה ממדים ,ולהסתובב סביב כל אחת משלשת הקואורדינאטות.
סה"כ מספר דרגות החופש "העומדות לרשות" חוליה חופשית במרחב הוא .9אם כך ,ננסח
את קריטריון גרובלר-קוצבאך עבור המקרה התלת ממדי באופן הבא:
)(1.2
F 6n - 1 - g f i i
הערה :השוני בנוסחאות במקרים התלת והדו ממדי ,הוא באופן ההתייחסות לצירי הסיבוב
במקרה הדו ממדי .במקרה המישורי אנו מניחים במובלע כי כל הצירים מקבילים בעוד שאין
כל הנחה על כיוונם במקרה התלת ממדי .
תרגיל :4.1חשב את המוביליות עבור הרובוט המקבילי
( 3PRPSמדגם )Alizadeהמרחבי המודגם באיור.
תשובה :ישנם 9מפרקים פריזמטיים 0 ,מפרקים רוטציוניים,
ו 0-מפרקים כדוריים .ומכאן . f 3 3, f1 9, g 12מספר
ד"ר ניר שוולב
מבוא לרובוטיקה
החוליות כולל האדמה .n=11ולכן . F 6
תרגיל :4.2חשב את המוביליות עבור רובוט 6UPSהמקבילי
המרחבי המודגם באיור (זוהי פלטפורמת סטיוארט ,ראה גם
תמונה בתחתית העמוד).
תשובה :ישנם 9מפרקים פריזמטיים 9 ,מפרקי קרדן ,ו9-
מפרקים כדוריים .ומכאן . f 3 6 , f 2 6 , f1 6, g 18
מספר החוליות כולל האדמה .n=14ולכן:
F 614 - 1 - 18 6 1 6 2 6 3 6
S
P
U
במילים אחרות ,כאשר המפרקים חופשיים,
המכניזם כולו חופשי לנוע ב 9דרגות חופש (עבור
המכניזם הזה ששת דרגות החופש מתרגמות
למיקום ואוריינטציה של הפלטה)
נבדוק כעת את המכאניזם שבאיור .ישנם 9
חוליות,
ו9-
רוטציוניים,
מפרקים
ומכאן ( . n g f1 4בחרנו ,n=4מכיוון
שאיננו מעוניינים בטרנסלציה ורוטציה יחסית לאדמה) ולכן F 6 4 - 1 - 4 4 1 2
הווה אומר ,המכאניזם תקוע עם מאמצים שיוריים (שימו לב שחישבנו מוביליות "פנימית"
של המכאניזם .מכאניזם כזה נקרא ,Bennet Mechanismע"ש ממציאו .בנט הראה כי
המוביליות של מכאניזם כזה תהיה 6אם ,ורק אם ,מתקיים השוויון
sin sin
a
b
במכאניזם מרחבי.
.שוב נתקלנו ,אם כן ,במכאניזם פרדוקסאלי ,הפעם
מערכת רובוטית בנויה ממכאניזם ,תפסנית ("יד הרובוט") ,בקר,
מחשב ולעיתים מערכת חישה ומערכת היגוי ידנית .מכאניזם הרובוט
בנוי חוליות ומפרקים ,כאשר לפחות אחת החוליות מוגדרת כיחידת
הקצה (או התפסנית) .על חלק מהמפרקים להיות ממונעים בעוד
שהאחרים יכולים להישאר פסיביים .בד"כ מספר המפרקים
הממונעים יהא שווה לערך מוביליות המכאניזם בכדי לאפשר שליטה
מלאה ככל הניתן על כל חלקי המכאניזם (כפי שניווכח בפרק על
סינגולאריות לעיתים אין הקביעה הזו מספקת ,ויש צורך בתוספת
מנועים בכדי לאפשר שליטה מוחלטת ברובוט עבור כל
רובוט מקבילי
מדגם Stewart
21
22
מבוא לרובוטיקה
ד"ר ניר שוולב
קונפיגורציה אפשרית) .התפסנית ,או יחידת הקצה ) (End-effector, Gripperזהו אלמנט
הרובוט הנפעל על אובייקטים .תפסניות יכולות לאחוז במגוון טכניקות (ראה פרק המבוא) אך
לרוב המדובר באחיזה מכאנית באמצעות 9לְ חָּ יַיִ ם .אלא אם יצוין אחרת ,דרגות החופש של
התפסנית לא יילקחו בחשבון בחישובי המוביליות של רובוטים בספר.
להמשך דיון ברובוטיקה ,נזדקק למס' הגדרות:
מרחב העבודה ) (Work spaceהוא המקום הגיאומטרי אליו יחידת הקצה יכולה להגיע
במהלך תנועת הרובוט .באיור שלמטה מודגמים מרחבי העבודה של מספר רובוטים.
מרחב העבודה מציין אם כן את המקום הגיאומטרי אליו יכולה יחידת הקצה להגיע .עבור
הרובוט התעשייתי ,שמשימותיו כוללות בדרך כלל אחיזה ושינוע אובייקטים במרחב העבודה,
חשובות הנקודות בהן יכולה התפסנית להסתובב בכל אוריינטציה שהיא .אוסף הנקודות
הללו נקרא מרחב המיומנות ) .(Dexterity Spaceכלומר ,זהו אוסף הנקודות אליהן יכולה
ד"ר ניר שוולב
מבוא לרובוטיקה
התפסנית להגיע ולהתכוונן ב 0-דג"ח של אוריינטציה במרחב ,או 6דג"ח של אוריינטציה
במישור.
לדוגמא :מרחב העבודה של הרובוט המישורי RRהוא דיסקה ,אולם
מרחב המיומנות שלו הוא ריק .אלא במקרה שבו , L1 L 2או אז תוכל
החוליה השנייה להתקפל ולהתיישר עם הראשונה ,ובמצב כזה יכיל מרחב
המיומנות את הנקודה המרכזית.
תרגילים נוספים
1.6הראה שהמוביליות עבור -nמצולע היא . n - 3
1.7מצא את המוביליות עבור כל אחד מה מכאניזמים הבאים:
F=1
F=1
F=6ביחס לאדמה
F=9ביחס לאדמה
F=0
F=1
1.8הוכח שלמכאניזם מישורי עם מספר אי-זוגי של חוליות יש מוביליות זוגית וההפך.
1.9מהו מרחב העבודה של רובוט מישורי טורי 5Rעם חוליות באורכים ? L1,L2,..,L5
23
24
מבוא לרובוטיקה
1.11
ד"ר ניר שוולב
(א) מהו מרחב העבודה של רובוט מישורי מקבילי הבנוי kזרועות בעלות שלוש
מפרקים סיבוביים כל אחת? בסיס כל זרוע קבוע באדמה וקצה כל הזרועות מתחבר
לנקודה אחת ,המשמשת כיחידת הקצה ?
(ב) מצא את כל טיפוסי מרחבי העבודה עבור רובוטים כנ"ל כאשר .k=3
1.11
הראה שהמוביליות של הרובוט באיור היא .9
1.12
סווג את הרובוטים ונמק:
1.13
מצא את המוביליות של הרובוטים באיורים (א)(,ב) .מסקנתך לגבי רובוטים טוריים ?
1.14
מהו מרחב המיומנות של רובוט טורי מישורי .3Rמהם התנאים על אורכי החוליות
לקבלת מרחב מיומנות לא ריק ?
ד"ר ניר שוולב
מבוא לרובוטיקה
.9מערכות צירים
מעתה נעסוק ברובוטים טוריים ונחזור לאלו המקביליים רק בסוף הספר .אנו מעוניינים
במיקום ואוריינטציה של התפסנית ביחס למערכת בסיס הרובוט .אם נתמקד באיור ונביט
במערכת הצירים הצמודה לתפסנית ,נקל להבין כי כאשר זוויות המפרקים ישתנו המערכת
תעבור טרנספורמציה הכוללת תזוזה (העתקה) וסיבוב .ולכן ,לשם נוחות נצמיד מערכת צירים
לכל חוליה:
תאור חוליות רובוט באמצעות מערכות צירים
ובכדי לקבל את מיקום התפסנית והאוריינטציה שלה יש למצוא את הטרנספורמציה (סיבוב
והזזה) של מערכת 0ביחס ל ,9-את הטרנספורמציה של מערכת 9ביחס ל 6ואת
הטרנספורמציה של זו האחרונה ביחס למערכת הבסיס (מערכת .)3בפרק זה נעסוק
בטרנספורמציות הליניאריות שיעזרו לנו בהמשך בתיאור מיקום התפסנית ביחס למערכת
בסיס קבועה.
להמשך דיון נזכר במעט אנליזה ווקטורית ומספר סימונים:
הגדרה :בהינתן מרחב וקטורי , הבסיס האורתונורמאלי ) (Orthonormal Basisשל
הוא קבוצה מינימאלית של וקטורי יחידה מתוך , הפורשים את . בנוסף ,מכפלה
פנימית של כל שניים מהם מתאפסת (במילים אחרות :כל הוקטורים ניצבים בזוגות).
הגדרה :בהינתן שני ווקטורים uו , v -המכפלה הפנימית ) (Inner productשלהם מוגדרת:
x2
, u v x 1 , y1 , z1 y 2 x 1 x 2 y1 y 2 z1 z 2ומתקיים , v u v u cosכאשר
z
v
היא הזווית בין uו . v -נשים לב כי במידה ש v -הוא וקטור יחידה ,תוצאת המכפלה
הסקאלרית תהיה אורך היטל uעל . v
25
26
ד"ר ניר שוולב
מבוא לרובוטיקה
הגדרה :בהינתן שני ווקטורים u, vהמכפלה הוקטורית ) (Vector Productשלהם מוגדרת
ˆj
ˆi
kˆ
כ x 1 y1 z 1
ומתקיים u v u v sin
כאשר
x 2 y2 z2
הזווית בין uו . v -נשים לב כי תוצאת המכפלה v u wניצבת לשני הוקטורים
x2
y2
z
2
x1
, u v y1
z
1
המוכפלים w v u וכיוונה נקבע ע"פ כלל יד ימין.
סימון:מעתה נסמן את מיקום נקודה Pבמערכת צירים X,Y,Zשל מערכת Aב -
Px
A
P Py
Pz
הערה :וקטור הינו ישות מתמטית שאינה תלויה במערכת
הקואורדינאטות .התלות במערכת זו או אחרת הוא בייצוגו
המספרי בלבד .הצגה גראפית מקובלת לוקטור במרחב
האקלידי היא חץ ,כמודגם באיור ,ונהיר שניתן להזיזו
מראשית מערכת הצירים כמודגם.
אוריינטציה ) (Orientationהיא תיאור הטיית הגוף ביחס לעולם .התיאור נעשה באחת משתי
השיטות השקולות :האחת ,באמצעות ציון זוויות ההטיה סביב כל קואורדינאטה (ראה איור);
והשנייה ,בעזרת תיאור של כל ווקטור בסיס במערכת הגוף הכתוב במערכת קואורדינאטות
של העולם.
נחזור כעת לבעיה המקורית שלנו :תיאור מערכת קואורדינאטות אחת באמצעות אחרת.
תיארנו את הסיטואציה הבאה :נתונה מערכת העולם XA, YA, ZAונתונה מערכת נוספת XB,
YB, ZBהמסובבת ביחס לראשונה .בנוסף נתונה נקודה P
B
(כלומר מתוארת במערכת
ד"ר ניר שוולב
מבוא לרובוטיקה
הקואורדינאטות .(Bמטרותינו תהיינה (א) לתאר את נקודה Pבקואורדינאטות של מערכת
( .Aב) למצוא אופרטור ,שיתאר את סיבוב מערכת Bביחס למערכת .A
טרנספורמציית גוף קשיח Tהיא אופרטור ליניארי ,הקולט מיקום ואוריינטציה במערכת
ניידת ,ופולט מיקום ואוריינטציה במערכת העולם.
ווקטור במערכת ווקטור במערכת
T
הניידת
העולם
בהקשר הרובוטי אנו נתייחס כמובן לחוליה הנעה בהשפעת שינוי מצב המפרקים (בפרט
חולית התפסנית) כאל זו הנושאת את המערכת הניידת ,בעוד שאל חוליית האדמה נתייחס
כאל מערכת העולם .המשפט הבא והתרגיל שבעקבותיו מחדדים את מושג טרנספורמציית
הגוף הקשיח:
הגדרה :נתונים שני מרחבים וקטורים תלת ממדיים T : . , :היא טרנס' גוף
קשיח ,אם ורק אם לכל בסיס אורתונורמאלי ימני ( )X1,X2,X3של , הווקטורים (-T)3
( T)X2(-T)3( ,T)X1ו T)X3(-T)3(-מהווים גם
הם בסיס אורתונורמאלי ימני ל. -
תרגיל :5.4היעזר באיור והוכח את המשפט.
כלומר הראה ש )6( :מרחקים נשמרים )9( ,אין
שיקופים.
רמז :כי הדרישה לימניות הכרחית על מנת
להימנע מטרנספורמציית שיקוף (כלומר שהאובייקט העובר טרנספורמציה ישתקף כבמראה)
שתי המערכות ,אם כן ,צריכות להיות ימניות (או שמאליות) ביחד.
כאמור ,טרנספורמציה כללית מורכבת מטרנספורמציית הזזה וטרנספורמציית סיבוב.
נתחיל ,אם כן ,בתיאור מערכת Bשהסתובבה ביחס למערכת Aונתמקד במקרה הדו ממדי
(ההרחבה למקרה הכללי טריוויאלית) .תיאור מערכת הקואורדינטות המסובבת (כלומר תאור
וקטורי הבסיס של מערכת זו) באמצעות מערכת
הקואורדינאטות הנייחת ,נתון ע"י:
X Y
YB A B
YA YB
כאשר הסימון
XB
A
A
X X
X B A B ,
YA X B
A
מייצג את הווקטור X Bמבוטא
ברכיבי מערכת קואורדינאטות .Aשימו לב שהטלנו
סיבוב מערכת צירים במישור
27
מבוא לרובוטיקה
28
ד"ר ניר שוולב
(באמצעות הכפלה סקאלרית) את שני ווקטורי הבסיס של מערכת Bעל ווקטורי הבסיס של
מערכת .A
בכדי לתאר את האוריינטציה של המערכת המסובבת נקבץ את הווקטורים
A
שקיבלנו לכדי מטריצה באופן הבאY B :
A
A
B R X Bכאשר הסימון AB Rמתייחס
למטריצת הטרנספורמציה המתארת את מערכת Bבמערכת קואורדינאטות .Aהסימון חיוני,
ונחיצותו תובהר בהמשך הפרק.
ובמקרה התלת ממדי:
)(2.1
X A ZB
YA Z B
Z A Z B
X A YB
YA YB
Z A YB
X X
A B
Z B YA X B
ZA X B
A
YB
A
R A X B
A
B
תרגיל :5.5מצא את הטרנספורמציה המתארת את סיבוב מערכת Bלעומת ( .Aראה איור
קודם).
תשובה :כאמור ,אנו מעוניינים לתאר את קבוצת וקטורי הבסיס של Bבמערכת .Aנשתמש
בנוסחה ל AB R -שהתקבלה ,ובידיעה ש X A X B X A X B cos ונקבל:
cosθ - sinθ 0
R sinθ cosθ 0
0
0
1
A
B
מפני ש ZA-שימש כציר סיבוב ציר Zבשתי המערכות זהה ,ולכן
. Z A Z B cos0 1
בשונה מהגישה הקודמת ,בה תיארנו מערכת מסובבת בקואורדינאטות של מערכת נייחת ,אנו
מעוניינים כעת לוודא כי תיאור סיבוב אקטיבי של הגוף (מערכת) יהא זהה לתיאורנו הקודם.
כלומר ,אנו תרים אחרי אופרטור סיבוב (הכתוב כמטריצה) Rהמסובב את מערכת הצירים
1
0
cos
sin
בזווית סביב ציר Zובכך מקיים . Reˆ1 sin ; Reˆ 2 cos :כאן e1 0 , e 2 1
1
1
0
0
מתארים את ווקטורי הבסיס של הגוף .כלומר ,אם נדמיין גוף צמוד למערכת Aעם מערכת
קואורדינאטות צמודה לו ,אנו מעוניינים לסובב את הגוף ,או במילים אחרות ,אנו מעוניינים
ד"ר ניר שוולב
מבוא לרובוטיקה
* * *
בסיבוב וקטורי הבסיס של המערכת בה הוא מתואר .בקיצור ,נחפש מטריצה * * *
* * *
3x 3
שתסובב את ווקטורי הבסיס X A , YAלווקטורי הבסיס . X B , YBנתמקד בשלשת וקטורי
0
הבסיס :ציר Zהוא ציר הסיבוב ,על כן אינו משתנה ולכן המקרה הואReˆ 3 0 :
1
* * 0
ומכאן . R * * 0
* * 1
ציר
X
מקיים
ע"פ
האיור
1 cos
R 0 sin
0 0
ולכן
0 - sinθ
cosθ * 0
R sinθ * 0 באותו אופן על סיבוב וקטור Yלקיים R 1 cosθ ולכן
0 0
0
* 1
מטריצת הסיבוב בזווית θסביב ציר Zהיא:
cosθ - sinθ 0
R sinθ cosθ 0
0
0
1
כצפוי סיבוב מערכת באופן אקטיבי בזווית ,θזהה לייצוג מערכת הקואורדינאטות המסובבת
במערכת הנייחת.
T
-1
תרגיל :5.6הוכח כי עבור מטריצת סיבוב כלשהי מתקיים . R R
תשובה :כפי שניתן היה להסיק זה מכבר ,מטריצת סיבוב מעתיקה מערכת קואורדינאטות
אורתונורמאלית ימנית למערכת קואורדינאטות אורתונורמאלית ימנית אחרת .ולכן
. det R 1נוכיח זאת:
Rממפה בסיס אורתונורמאלי e1 , e 2 , e 3לבסיס אורתונורמאלי מסובב ,Re1, Re2, Re3לכן:
T T
T
T
Re i Re j ei R Rei ei R R eiכלומר האיבר בשורה ה-i-ית ועמודה -jית הוא:
1 i j
0 i j
Re i Re j
כלומר , R T R Iואכן ,מבט בביטוי שלמטה מאשש את טענתנו זו .
29
31
ד"ר ניר שוולב
מבוא לרובוטיקה
טענהdet R 1 :
הוכחה:
det R 2 det R det R det R det R T det R det R -1 det R R -1 det I 1
ומכאן האפשרויות הן . det R 1
אם מאפשרים det R 1אנחנו ,למעשה,
מאפשרים שיקוף( .מדוע? )9
נשים לב כעת כי סיבוב אקטיבי של מערכת ניידת (אדומה) בזווית φכמוה כסיבוב המערכת
הנייחת (שחורה) בזווית הפוכה ( .)- φלכן שרשור שתי מטריצות כדוגמת הביטוי שלמטה,
יתפרש כסיבוב אקטיבי של מערכת (שחורה לזו האדומה) בזווית נתונה וסיבוב המערכת
(שחורה או אדומה) חזרה למנח המקורי.
cosφ sinφ 0 cosφ - sinφ 0
R R I sinφ cosφ 0 sinφ
cosφ 0 I
0
0
1 0
0
1
T
לחילופין ,כאמור ,ניתן לחשוב על סיבוב המערכת הנייחת (שחורה) בזווית הפוכה ( )- φ
כביטוי קואורדינאטות המערכת הנייחת (שחורה) בקואורדינאטות של זו הניידת (האדומה).
ולכן ניתן לחשוב על אותו ביטוי משורשר כביטוי המערכת הנייחת בקואורדינאטות של זו
הניידת ומייד לאחר מכן סיבוב אקטיבי של המערכת הנייחת.
עד כה התמקדנו בחישוב מטריצת הסיבוב כאשר ציר הסיבוב נקבע להיות ציר .Zהמטריצות
הבאות מתארות טרנספורמציות סיבוב סביב צירי X,Y,Zבהתאמה כאשר האותיות C,S
מהוות קיצור לפונקציות , Cos ,Sinלבסוף ) R W (יסמן סיבוב בזווית סביב ציר :W
sφ
cφ - sφ 0
0 ; R z φ sφ cφ 0
0
cφ
0 1
0
cφ 0
- sφ ; R y φ 0 1
- sφ 0
sφ cφ
0
cφ
1
R x φ 0
0
נבהיר כעת את הסימון שליווה את מטריצות הסיבוב .דיון במערכות רובוטיות מחייב דיון
במספר רב של מערכות צירים .הסימון נועד לצמצם ככל שניתן את הצורך במעקב אחר
המערכות האלו .הרעיון הוא "לצמצם מערכות צירים" באופן המודגם בביטוי הבא:
)(2.2
P ABR BP
A
9רמז :חשבו על השטח ששלושת ווקטורי הבסיס חוסמים .מה קורה לשטח תחת שיקוף ,תחת סיבוב ?
ד"ר ניר שוולב
מבוא לרובוטיקה
ווקטור B Pשנתון במערכת צירים ,Bעבר טרנספורמציה
R
A
B
ומבוטא כעת A Pבמערכת
קואורדינאטות " – Aצמצמנו" את ה " "Bבמשוואה ונשארנו עם " "Aלאמור שהווקטור
שהתקבל נתון במערכת קואורדינאטות .A
טענה :מטריצת רוטציה משמרת מכפלה סקאלרית.
ˆxR
הוכחהˆ y x T R T R y XT R T R y XT R -1 R y x T y x y :
R
בדומה לנוסחה ( )9.9ניתן לשרשר מספר שרירותי של טרנספורמציות ווקטורים:
P AB RCB RC P
כאן "הצטמצמו" ה" "Bוה "C"-ונותרנו שוב עם "."A
A
הערה :הביטוי המשורשר AB RCB RDC Rמתאר טרנספורמציה R
הטרנספורמציה R
A
B
C
D
ולאחריה CB Rולבסוף
ולכן . AD R AB R CB R DC R
חסרה לנו ,כעת ,טרנסלאציה (העתקה) ,בכדי לתאר טרנספורמציית גוף קשיח במלואה.
הגדרה :העתקה Tdהיא טרנספורמציה ליניארית ,המקיימת
. Td x x dכלומר ,זוהי
d
הזזה של וקטור xב. -
תרגיל :5.1הוכח כי ההעתקה Tdהיא טרנספורמציית גוף קשיח( .ראה משפט בתחילת עמ'
.)99
תשובה :כפי שהוכחנו בתרגיל ,9.6עבור טרנספורמציית גוף קשיח,
אורתונורמאלי.
בסיס
Tx i Td x i x i dוכן
ומכאן
ע"פ
הגדרה
ידוע
1
Tx i - T03i xהינו
כי
T0 Td 0 d
Tx i - T0i1 x i i1וברור כי זהו
3
3
בסיס כאמור .
תאור מלא של טרנספורמציה יהא אם כן
P AB R B P A PB orginal
A
העתקה (הוספת הווקטור
כלומר אנו מסובבים את מערכת הצירים ורק לאחר מכן מבצעים
PB orginal
A
המייצג את מיקום ראשית הצירים של המערכת
הניידת ,ראה איור) .הרעיון הוא לבנות טרנספורמציה יחידה , ABTשתתאר רוטציה
31
32
ד"ר ניר שוולב
מבוא לרובוטיקה
וטרנסלאציה יחדיו ולא כשילוב של הכפלה במטריצה וחיבור ווקטורי .באופן זה נרצה לשרשר
טרנספורמציות כאלו עם רעיון "צמצום מערכות צירים" זהה לזה שדנו בו עבור רוטציות:
הגדרה :מטריצה הומוגנית ) (Homogenousהיא
d 31
והעתקה) במרחב באופן הבא:
111 44
כזו המייצגת טרנספורמציה (סיבוב
R 33
013
, T כאשר R 33מטריצת סיבובd 31 ,
d 21
וקטור הטרנסלאציה .עבור המצב המישורי הטרנספורמציה תהא :
111 33
R
. T 22
012
שימו לב כי הטרנספורמציה במרחב האוקלידי התלת ממדי הינה מטריצה ,4x4בעוד שזו
עבור המרחב האוקלידי ה 9-ממדי הינה מטריצה .3x3כלומר "עלינו" ממד בכדי לייצג גם את
הטרנסלאציה .מטריצות מעין אלה נקראות הומוגניות ,על שם שיטת ייצוג הקואורדינאטות
בהן נעשה שימוש .ווקטור מיקום x 3x1הומוגני הינו מהצורה:
x 3x1
1
כלומר בכדי לייצג ווקטור שרירותי (בממד 9או )0נוסיף ממד נוסף לייצוגו ,ושיעורי הממד
הזה יהיו יחידה .הטרנספורמציה מתבצעת ,אם כן ,באופן הבא:
R d x Rˆ x d
0
1
1
1
נדגים כיצד מתקבל שרשור טרנספורמציות באמצעות הכפלה של מטריצות הומוגניות.
שרשור של טרנספורמציות הוא:
T2 T1 x T2 R1 x d1 R 2 R1 x d1 d 0 R 2 R1 x R 2d1 d 2
d2
נוודא שהרכבת הטרספורמאציות
1
d 2 Rˆ 1 x d1
1 1
R d1 R 2
,
1זהה לזו שמצאנו זה מכבר:
0 1 0
d2 x R 2
1 1 0
R d R
T2 T1 x T2 T1 x 1 1 2
0 1 0
Rˆ 2 Rˆ 1 x Rˆ 2 d1 d 2
,
1
ד"ר ניר שוולב
מבוא לרובוטיקה
תרגיל :5.2בהינתן מטריצת סיבוב שרירותית Rכיצד ניתן למצוא את ציר הסיבוב אותה היא
מייצגת ?
תשובה :כזכור ,ווקטור עצמי vשל מטריצה כלשהי ומטריצת סיבוב Rבפרט ,מקיים
Rv vכאשר הוא הערך העצמי המתאים ל . vמנגד ,על ווקטור vהמייצג את כיוון
ציר סיבוב המטריצה Rלקיים ( Rv vמדוע?) .ולכן נהיר הוא כי ווקטור עצמי של Rעם
ערך עצמי שגודלו 6יהא הווקטור המבוקש .
תרגיל :5.6מצא מהו ציר הסיבוב של מטריצת הסיבוב:
0.3631 0.3036 0.8809
R - 0.1071 0.9256
0.3631
0.9256
0.2262 0.3036
הווקטור העצמי של Rהוא
1
1
v 2וזהו ציר הסיבוב המבוקש .נשים לב שהכפלת
3
2
הווקטור במטריצת הסיבוב אינה משנה את הווקטור .
לקורא המעמיק מומלץ לעיין במקורות [ ]60ו [.]69
תרגילים נוספים
9.3הוכח שהדטרמיננטה של מטריצת סיבוב שווה ל.+6-
רמז :השתמשו בעובדה ש . X Y Z
( 9.1א) הראו שטרנספורמציות סיבוב בזווית סופית אינן חילופיות כלומר R 1 R 2אינו שווה
בהכרח ל( . R 2 R 1 -ב) הוכיחו שטרנספורמציות סיבוב בזווית אינפיניטסימאלית כן
חילופיות.
9.6נתון ווקטור המהירות . B v 1,2,3Tחשב את v
A
בהינתן הטרנספורמציה .נמק את
תשובתך.
0
0
0
1
0 0.866 0.5 10
A
BT
0 0.5 0.866 20
0
0
0
1
33
34
מבוא לרובוטיקה
T
תשובהv 1, 0.232, 3.598 :
ד"ר ניר שוולב
A
9.63מצא ביטוי כללי לטרנספורמציית הסיבוב Tk בזווית סביב ישר kהעובר דרך
נקודה ( bואינו עובר בהכרח בראשית הצירים).
R b I 33 R k
. Tk k
תשובה:
1
0
4x 4
9.66באיור מתוארות שתי אוריינטציות של
בלוק עץ .מצא טרנספורמציה אחת
המתארת את המעבר ביניהן ע"י ציון
זווית הסיבוב הרצויה ווקטור סביבו
תתבצע הרוטציה.
2
1
וזווית הסיבוב היא
תשובה :הווקטור המציין את ציר הסיבוב הוא 1,1,1T
3
3
.
a 11 0 1 1
a 21 0 0 5
9.69מצא את האיברים החסרים בטרנספורמציה ההומוגנית:
T
a 31 1 0
3
0
0 0 1
תשובהa 11 a 31 0, a 21 1 :
9.60חשב את הטרנספורמציה ההומוגנית המייצגת סיבוב
ב 633-סביב ציר , Zסיבוב סביב ציר Yב +953 -וסיבוב
סביב Xב -933 -ולאחר מכן הזזה בשיעורים . 1,2,3T
מהם שיעוריה החדשים של נקודה שבמקור נכתבה כ-
? 1,1,1T
0.707 0.707 1
0
0.612 0.612 2
0.5
תשובה:
T
0.866 0.353 0.353 3
0
0
0
1
9.69נתונה יחידת הקצה של רובוט Motomanשבתמונה ,אליה מוצמדת מערכת צירים
x A , y A , z A Tהמתלכדת עם מערכת העולם .חשב את הטרנספורמציה המעבירה את
ד"ר ניר שוולב
מבוא לרובוטיקה
ראשית מערכת צירים זו לנקודה a, b, cTכך שציר =( z Aכיוון התפסנית) יצביע לכיוון
הראשית (כבאיור).
a
b
תשובה:
c
1
c 2 c1
c 2 c1
s2
c2
c1
0
0
0
c1 c 2
c c
T 1 2
s
1
0
35
36
ד"ר ניר שוולב
מבוא לרובוטיקה
.0שרשור טרנספורמציות
די בהצצה באיור שבעמוד 99על מנת להבין כי בכדי לתאר את המיקום והאוריינטציה של
תפסנית הרובוט יש לשרשר טרנספורמציות )(To Concatenate
(להכפיל מטריצות
המייצגות את הטרנספורמציות) .בפרק זה נעמוד על עניין השרשור לעומקו.
כפל מטריצות סיבוב אינו חילופי (דרך אחרת לומר זאת היא לציין שהחבורה so 3אינה
חילופית ,לקורא המעמיק מומלץ לעיין ב .)]60[ -כלומר ,שרשור מטריצות (המייצגות
טרנספורמציות סיבוב) בסדר הפוך לא יניב אותה טרנספורמציית סיבוב .נדגים את אי
החלופיות של :R
ד"ר ניר שוולב
מבוא לרובוטיקה
שים לב שעל פי האיור שלעיל . R y 90R x 90 R X 90R y 90
תרגיל :6.4מצא את T
A
B
B
C
T,
ואת T
A
C
.
תשובה :נתייחס למערכת Aכמערכת ייחוס .את טרנספורמציית הסיבוב שמערכת " Bעברה"
ביחס למערכת , Aנכתוב באמצעות ווקטורי הבסיס של Bבמושגי מערכת ,Aלדוגמא
הווקטור X B
A
1
הוא X B 0
0
A
וזהו ווקטור העמודה הראשון במטריצה R
A
B
.באופן
דומה נבנה גם את הווקטורים . A YB , A ZBווקטור העמודה הרביעי מציין ,כאמור ,את
3
A
PB
התזוזה PBORGשל ראשית מערכת Bביחס למערכת הייחוס 0 :A
OR G
0
A
(שימו לב,
הווקטור מבוטא ברכיבי מערכת קואורדינאטות )Aומכאן:
0 3
0 0
1 0
0 1
1 0
0 1
A
BT
0 0
0 0
0
0
באופן דומה נקבל:
2
1
0.5
0.866
0
0 0.866 0.5
B
CT
1
0
0
0
0
0
ומשני הטרנספורמציות שקיבלנו:
0 0.5 0.866 3
0 0.866 0.5 0
A B
B T CT
1
0
0
2
0
0
0
1
ומהאיור שלעיל ניתן לאמת את התוצאה .
37
38
ד"ר ניר שוולב
מבוא לרובוטיקה
נעמוד כעת על שתי דרכים לשרשר טרנספורמציות סיבוב של גוף (פורמאלית אנו מעוניינים
בסיבוב מערכת צירים צמודת גוף).
(א) סיבוב סביב X,Y,Zקבועים במערכת העולם.
(ב) סיבוב סביב ' , X',Y',Zכלומר ,סביב צירים הצמודים לגוף המסתובב (במערכת
ניידת).
(ג) סיבוב משולב סביב צירים ניידים ונייחים.
(א) נתונה מערכת העולם X,Y,Zוגוף הנתון במערכת זו .נסובב את הגוף סביב Xבזווית γ
סביב Yעם זווית βוסביב Zבזווית αכמודגם באיור הבא:
sβ
cα - sα 0
0 ; R z α sα cα 0
0
cβ
0 1
0
cβ 0
- sγ ; R y β 0 1
- sβ 0
sγ cγ
0
cγ
1
R x γ 0
0
שרשור טרנספורמציות :גלגול ( )Rollסביב ציר Xנייח ,עלרוד ( )Pitchסביב ציר Yנייח ולבסוף
ִסבסוב ) ,)Yawסביב Zנייח
פורמאלית ,מה שעשינו כאן הוא סיבוב B'A'' Rעם המבנה:
cα cβ cα sβ sγ sα cγ cα sβ cγ sα sγ
R z α R y β R x γ sα cβ sα sβ sγ cα cγ sα sβ cγ cα sγ
- sβ
cβ sγ
cβ cγ
ד"ר ניר שוולב
מבוא לרובוטיקה
כלל :שרשור טרנספורמציה Tעם סיבוב Rסביב ציר קבוע במערכת העולם יתואר באמצעות
הכפלת המטריצה המייצגת את הטרנספורמציה הקודמת Tבמטריצת הסיבוב Rמשמאל
.R T
(ב) נסובב כעת מערכת צמודת גוף סביב מערכת צירים ניידת .ייצוג כזה נקרא מערכת זווית
אוילר ( .)Eulerנסובב סביב ציר Zבזווית ,αלאחר-מכן נסובב סביב ציר '( Yהמסובב) בזווית
βולבסוף ,סביב ציר "( Xהמסובב פעמיים) בזווית .γ
R x ''
R z α R z' α
R Y'' β
כאמור ,במצב זה הסיבוב נעשה סביב צירי המערכת הניידת ולא לפי צירי מערכת העולם .ניתן
לרשום את מטריצת הסיבוב Rבצורה הבאה( :הצורה הרגילה):
'B
"B
"R B'A R B
"'R B
R R Z' α R Y'' β R X'' γ
A
"'B
כלל :שרשור טרנספורמציה Tעם סיבוב Rסביב ציר של מערכת ניידת יתואר באמצעות
הכפלת המטריצה המייצגת את הטרנספורמציה הקודמת Tבמטריצת הסיבוב Rמימין
.TR
עבור האיור שלעיל מטריצת הסיבוב היא אם כן:
cα cβ cα sβ sγ sα cγ cα sβ cγ sα sγ
sα cβ sα sβ sγ cα cγ sα sβ cγ cα sγ
- sβ
cβ sγ
cβ cγ
נשים לב ,כי קיבלנו אותה מטריצה כמו R z R y R x כלומר אותה מטריצה
המייצגת את שרשור טרנספורמציות סיבוב סביב צירי מערכת נייחת ! נניח כעת ,שנתונה
39
41
מבוא לרובוטיקה
מטריצת הסיבוב
ד"ר ניר שוולב
r13
r23
r33
r12
r22
r32
r11
R r21ואנו מעוניינים ב – α,β,γזוויות הסיבוב סביב
r
31
הצירים הנייחים Z,Y,Xבהתאמה .או לחילופין נתעניין ב – γ,β,αזוויות הסיבוב סביב
הצירים הניידים ' X''',Y'',Zבהתאמה.
נגדיר להלן פונקציה שתסייע לנו בפתרון הבעיה בפרט ובקורס ככלל:
הפונקציה ) ,atan2(y,xהיא פונקציה דו-פרמטרית המחשבת את הפונקציה )tan-1(y/x
אשר תמונתה היא [ ]-,כלומר הפונקציה מביאה בחשבון את סימני ( )x,yובאופן זה
קובעת באיזה רביע נמצאת הזווית .שים לב שפונקצית tanההופכית אינה עושה זאת.
) atan2(y,xהינה פונקציה סטנדרטית במנועים מתמטיים כמו
, Mathematica
Matlab, Mapleוכיו"ב.
דוגמא atan2(2,2)=450, atan2(-2,2)=1350 :בעוד ש tan-1(2/2)= tan-1(-2/-2)= 450
כיוון ש R Z'Y"X"' α, β, γ R XYZ γ, β, α
הנוסחאות הבאות עבור γ,β,αיהיו נכונות
לשני מקרים:
r322 r312
β atan2 - r31 ,
r
r
α atan2 21 , 11
cβ
cβ
r
r
γ atan2 32 , 33
cβ
cβ
ד"ר ניר שוולב
מבוא לרובוטיקה
עבור β = -900 , +900מתקיים cos(β)=0ולכן נוסיף ונגדיר:
α 0
β 90
γ atan2 r12 , r22
α 0
β 90
γ atan2 r12 , r22
תרגיל :6.5תהי OXYZמערכת עולם ו OUVW -מערכת צמודת גוף (מערכת ניידת)( .א)
מהי מטריצת הרוטציה עבור סיבוב בזווית Øסביב OXולאחריה ,סיבוב בזווית Ψסביב
OWולאחריה ,סיבוב θסביב ( .OYב) מצא רצף סיבובים אחר ,שנותן את אותה מטריצת
רוטציה.
פתרון :שימו לב כי למעשה אנו מעוניינים במטריצת הסיבוב .RX'ZYנסמןRW(Ψ), RX(Ø) :
) .RY(θנזכור כי הכללים שדנו בהם לעיל מחייבים )6( :מטריצת רוטציה סביב ציר במערכת
העולם ,מכפילים משמאל )9( .מטריצת רוטציה סביב ציר במערכת נעה ,מכפילים מימין.
נשתמש במטריצת הרוטציה סביב ציר מסוים שאנו יודעים ונבצע את ההכפלה.
cψ - sψ 0
sψ cφ 0
0
0 1
ומכאן נקבל:
0
1 0
cφ 0 sφ
R X φ 0 cφ - sφ , R Y φ 0 1 0 , R W ψ
0 sφ cφ
- sφ 0 cφ
41
42
ד"ר ניר שוולב
מבוא לרובוטיקה
0 sφ
1 0
0 cφ
0 cψ - sψ 0
1 0
0 cφ - sφ sψ cφ 0
0 sφ cφ 0
0 1
- sψ 0
cφ 0
0 1
cφ
R Y φ R X φ R W ψ 0
- sφ
cφ sφφs cφφs cψ
0
cφ
- sφ sψ
- sφ sφφc cφφc 0
cφφc sφφsφs - cθ sψ sθ sφ cψ cφφs
cφ
cφ cψ
sφ
- sθθc cθ sφ sψ sθ sψ cθ sφ cψ cθ cφ
ב .יש למצוא Rשקול ,שיתקבל מסיבוב המערכת סביב צירים אחרים .נביט בביטוי שקיבלנו
בסעיף הקודם R Y φ R X φ R W ψ :ונייחס את כל הסיבובים למערכת העולם .כלומר
נסובב את המערכת סביב ציר ( Zשהוא בסעיף הקודם )Wבזווית , ψלאחר מכן סביב ציר
Xבזווית ולבסוף סביב Yבזווית . φע"פ הכללים שהזכרנו זה מכבר הסיבוב יהא
R Y φ R X φ R Z ψכדרוש.
תרגיל :6.6נוסחת רודריגז ) )Rodriguezתהי Aמערכת צירים קבועה; ותהי Bמערכת
צירים מסובבת בזווית aסביב ציר המקביל לווקטור היחידה T=(t1, t2, t3)Tהקבוע ב.A-
R T
א) הוכח שR -
θ
הינה מטריצה אנטי סימטרית עבור כל מטריצת סיבוב . R
ב) הוכח כי Λ 2 TT T T Iכאשר:
2
t2
- t1
0
- t3
0
t1
0
t3
- t
2
ג) חשב את nוהוכח כי:
)(3.1
e Λθ I Λsinθ (1 - cos ) Λ 2
תשובה( :א) ידוע ש . RR T I -נגזור את הביטוי לפי θונקבל:
ד"ר ניר שוולב
מבוא לרובוטיקה
R T
R T
R R
0
θ
θ
T
R T
R T
R T
R -R
-
R
θ
θ
θ
כאן ,גזירת מטריצה מתבצעת באמצעות גזירה נפרדת של כל איבר במטריצה .ואכן תנאי
אנטי הסימטריות S=-STמתקיים( .ב) נתון כי . T t12 t 2 2 t 3 2 1נחשב
2
t1t 3
t2t3
2
t 3 t 2 t 3
2
2
- t3 t2 - t3 t2
0 - t1 t 2 t1
t1
0 t 3 t 1
t1t 2
2
t2
2
t 1
t1t 3
t2t3
2
t1t 2
2
2
- t 3 t1
t 3t 2
- t2
ובסה"כ מתקיים 2 TTT T Iכמבוקש.
2
t1
t1
T
TT t 2 t 1 t 2 t 3 t 2 t 1
t
3
t 3 t1
2
t2 0
- t1 t 3
0 t 2
- t3
0
t1
0
2
t3
- t
2
(ג) עפ"י הסעיף הקודם ,נחשב את R 3
ע"פ . Λ 3 Λ 2 Λ TTT Λ T Λנשים לב ש :אנטי סימטרית ו TTT -סימטרית,
2
ולכן TT 0ומכאן . 3 - T - ולכן 6 2 , 5 , 4 -2וכן הלאה.
T
נחשב את
2
eעפ"י טור טיילור ונקבל:
2 2 4 2 6
3 5
e I
!3
!5
!4
!6
! 2
2
I sin 1 - cos
מתרגיל 66ידוע אמנם ש . e I sinθ 2 1 - cosθכעת נעמוד על פשר התוצאה.
באיור שלמטה מודגמת נקודה Pשעוברת טרנספורמציית סיבוב סביב ווקטור Tבזווית .
טענתנו היא כי המטריצה ,Rהמתארת את טרנספורמציית הסיבוב ,נתונה באמצעות נוסחת
רודריגז R e I sinθ 2 1 - cosθכאשר היא המטריצה המוגדרת בתרגיל .66
43
44
ד"ר ניר שוולב
מבוא לרובוטיקה
ווקטור ,Pהמתאר את מיקום הנקודה ,מורכב משני רכיבים :הרכיב המקביל ל ( Tכלומר זה
שאינו משתנה תחת הסיבוב) ; והרכיב המאונך ל ( Tכלומר החלק של Pהעובר
טרנספורמציה) .נסמן את שני הרכיבים כ P , P || -בהתאמה .אם נרצה כעת לסובב את
הרכיב המאונך P סביב ,Tהסיבוב יבוטא כ T P sinθ P cosθראה איור .בכדי לקבל
את הווקטור המסובב
בכללותו נסכם ,אפוא,
את החלק המקביל
|| Pונקבל
. RP P || T P sinθ P cosθנשים לב ש P || TT P ו P P TT P -וכן ש-
. T P T (P P || ) T P נציב כעת חזרה לנוסחה לקבל:
RP TT P T Psinθ P TT Pcosθ
בכדי להשלים את ההוכחה יש להוכיח ראשית כי T v vלכל ווקטור
v
ולכן נוכל
לסמן ; T Λושנית ,ע"פ תרגיל 69ידוע כי . TTT Λ 2 Iעתה נוכל לבודד את מטריצת
הסיבוב סביב ווקטור Tבזווית :
R I T sinθ 1 cosθTTT eΛθ
)(3.2
לשם נוחות מובא להלן הביטוי המפורש למטריצת הסיבוב סביב ווקטור Tבזווית :
cθ t12 1 cθ t1t 2 1 cθ t 3sθ t1t 3 1 cθ t 2sθ
2
R T θ t1t 2 1 cθ t 3sθ cθ t 2 1 cθ t 2 t 3 1 cθ t1sθ
2
t1t 3 1 cθ t 2sθ t 2 t 3 1 cθ t1sθ cθ t 3 1 cθ
)(3.3
R T
תרגיל :6.1חשב אתR -
מפורשות.
θ
תשובה:
לכן:
T
T
R T e Λθ
I Λsinθ Λ 2 1 - cosθ Λcosθ Λ 2 sinθ
θ
θ
θ
מבוא לרובוטיקה
T
ד"ר ניר שוולב
I Λsinθ Λ 1 - cosθ Λ
2
T
R T
R Λcosθ Λ 2 sinθ
θ
נתונה זווית סיבוב וְ ווקטור .T=(t1, t2, t3)Tנמצא כעת את מטריצת הסיבוב המתאימה
באופן אינטואיטיבי:
נסובב את מערכת הצירים באופן שהווקטור Tיתלכד עם ציר .Z
נסובב את מערכת הצירים סביב Zבזווית . θ
נחזיר את המצב לקדמותו ,כלומר נסובב את הווקטור Tע"י טרנספורמציה הפוכה
לזו הראשונה.
הסיבובים כולם יעשו במערכת XYZקבועה:
נסובב את מערכת הצירים באמצעות R X α סביב ציר Xבזווית αבאופן ש T -יגיע
למישור .ZX
נסובב את מערכת הצירים באמצעות R Y β סביב ציר Yבזווית βבאופן שT -
יגיע לציר .Z
נסובב את מערכת הצירים באמצעות R Z θ סביב ציר Zבזווית . θ
נסובב את מערכת הצירים חזרה למקומה באמצעות R Y β
נסובב את מערכת הצירים חזרה למקומה באמצעות R X α
45
ד"ר ניר שוולב
מבוא לרובוטיקה
סה"כ
R T θ R X - αR Y βR Z θR Y - βR X α
:ובמפורש
0 cβ 0 sβ cφ - sφ 0 cβ 0 - sβ 1 0
0
1 0
R T θ 0 cα sα 0 1 0 sφ cφ 0 0 1 0 0 cα sα
0 - sα cα - sβ 0 cβ 0
0 1 sβ 0 cβ 0 sα cα
cθ t 1 2 1 cθ t 1 t 2 1 cθ t 3sθ t 1 t 3 1 cθ t 2 sθ
2
t 1 t 2 1 cθ t 3 sθ cθ t 2 1 cθ t 2 t 3 1 cθ t 1sθ
2
t 1 t 3 1 cθ t 2 sθ t 2 t 3 1 cθ t 1sθ cθ t 3 1 cθ
. התקבלה תוצאה זהה לזו שקיבלנו לעיל,כצפוי
ציר הסיבוב של הטרנספורמציה הוא,בפרק הקודם מצאנו כי בהינתן מטריצת סיבוב
משיש בידנו את המבנה המדויק של מטריצת."6" הווקטור העצמי המתאים לערך העצמי
:הסיבוב נוכל לחלץ גם את ערך זווית הסיבוב
וזוויתT מצא את ציר הסיבוב. R ri, j
3
i, j1
נתונה מטריצת סיבוב כללית:6.2 תרגיל
.θ הסיבוב
: נשים לב ש:תשובה
trace R cθ t 1 1 cθ cθ t 2 1 cθ cθ t 3 1 cθ
2
2
2
t 12 t 22 t 32 1 cθ 3cθ 1 - cosθ 3cθ 1 2cθ
)? (כיצדs בכדי למצוא את הזווית המדויקת יש למצוא את.
trace R 1
cθ
2
ולכן
: נביט כעת בביטוי הבא.atan2 ולהשתמש בפונקציה
r32 - r23 t 2 t 3 1 cθ t 1sθ - t 2 t 3 1 cθ t 1sθ 2t 1 sθ
r13 - r31 2t 2 sθ
r21 - r12 2t 3sθ
כלומר
46
ד"ר ניר שוולב
מבוא לרובוטיקה
47
r32 r23
r13 r31 2sθ T
r r
21 12
נשים לב שאם נחשב את הזווית ע"י
) (0 θ 180
c
trace R 1
θ cos 1 נימנע מטעות בקביעת
2
z3
x3
b
y3
z5
d
רביע הזווית גם ללא חישוב מפורש של sושימוש ב ,atan2כיוון
שכיוון הציר אף הוא נקבע ע"פ sinהזווית .ולכן כל
x5
z4
e
z2
שנותר הוא:
y5
y4
x4
a
x2
r32 r23
1
T
r13 r31
2sθ
r21 r12
y2
z1
x1
z0
y1
y0
תרגילים נוספים
0.9מצאו את הטרנספורמציות 0 A1ו. 1 A 2 -
תשובה:
0
0
b
1 0
0 1 0
0
0
1
e
c
0
0
1
a
d
0
1
A1
A2
0 1 0 a d
1 0 0
0
0
0 0 0
0
0
1 ,
1
0.3על פי האיור בתרגיל 0.6מצא את . CA T
0
1 2
0
0.5 0.866 0 1.5
C
תשובה:
AT
0.866 0.5
0 2.59
0
0
0
1
3.8כתוב תוכנית מחשב אשר מקבלת ווקטור מהמשתמש ומסובבת באופן גרפי קובייה
סביבו.
x0
48
ד"ר ניר שוולב
מבוא לרובוטיקה
3.9כתוב תוכנית מחשב אשר מקבלת שתי אוריינטציות ומסובבת קובייה כך שבתחילת
התנועה תהיה זו מכוונת לכיוון האוריינטציה הראשונה ובסוף התנועה תהיה הקובייה
מכוונת בכיוון השנייה.
תוכנית עזר :בכדי להקל על כתיבת התוכנית היעזרו בתוכנית ה MatLab-הבאה
המסובבת קובייה ומציגה את הסיבוב באופן גרפי.
;j=0
)for theta=0:0.1:(2*pi
;j=j+1
מט' סיבוב R=[[cos(theta) -sin(theta) 0];[sin(theta) cos(theta) 0];[0 0 1]]; %
for i=1:8
הווקטור שיש לסובב V=[x(i) y(i) z(i)]'; %
סיבוב הווקטור U(i,:)=(R*V)'; %
end
הצגה גרפית של הקובייה %
plot3([U(1:4,1) ;U(1,1)],[U(1:4,2) ;U(1,2)],[U(1:4,3); U(1,3)]); hold on
;)])plot3([U(5:8,1) ;U(5,1)],[U(5:8,2); U(5,2)],[U(5:8,3) ;U(5,3
;)])plot3([U(1,1); U(5,1)],[U(1,2) ;U(5,2)],[U(1,3) ;U(5,3
;)])plot3([U(2,1); U(6,1)],[U(2,2); U(6,2)],[U(2,3); U(6,3
;)])plot3([U(3,1) ;U(7,1)],[U(3,2) ;U(7,2)],[U(3,3) ;U(7,3
;)])plot3([U(4,1); U(8,1)],[U(4,2) ;U(8,2)],[U(4,3) ;U(8,3
hold off
שומר על התמונה F(j) = getframe; %
end
מציג את הסרט movie(F,20) %
3.11
מצא את מטריצת הרוטציה עבור פעולת סיבוב מערכת צירים { }3ב ZYZבשיטת
זוויות אוילר .מהי משמעות העמודה השלישית במטריצה ?
c 3s 2
תשובהs 3 s 2 :
c 2
c 3 c 2 s 1 s 3 c1
c 3 c 2 s 1 c 3 c1
s s s1
c 3 c 2 c1 s 3 s 1
R s 3 c 2 c1 c 3 s 1
s 2 c1
ד"ר ניר שוולב
מבוא לרובוטיקה
.9הקינמטיקה הישירה
עבור רובוטים מישוריים כל כיווני כל המפרקים נשארים קבועים
באופן יחסי האחד לשני (בכיוון ניצב למישור) .אולם ,לעיתים
קרובות בוחר המתכנן גיאומטריות חיבור מורכבות יותר בהן
הכיוון היחסי של המפרקים משתנה .מצב כזה דורש מעקב קפדני
אחר מערכות הצירים .בפרק זה נלמד להצמיד מערכות צירים לרובוט ,ולתאר את תנועת
התפסנית כפונקציה של מצב החוליות .אגב ,רוב הרובוטים הקיימים עושים שימוש במספר
סוגי מפרקים ,בקורס נתמקד בעיקר בשניים השכיחים :הפריזמטי והסיבובי .בשלשת
הפרקים הבאים ,נעסוק בקינמטיקה בלבד .נעיר כי האחרונה עוסקת רק בתנועות הגוף
(מיקום מהירות תאוצה וכיו"ב) ,ללא התחשבות במשוואות של הכוחות היוצרים את התנועה.
בעיית הקינמטיקה הישירה ) :(Forward Kinematicsמוגדרת כחישוב מיקום ואוריינטציה
של התפסנית ביחס לבסיס ,כפונקציה של ערכי המפרקים של הרובוט .במילים אחרות:
בהינתן ערכי המפרקים , q1...q nנשאל :איפה ממוקמת התפסנית ולאיזה כיוון היא מצביעה?
הערה :משתנה המפרק לא יהא תמיד זווית .במידה והמפרק הוא מפרק פריזמטי לדוגמא,
יהיה ערך q iנתון כמשתנה אורך .diלכן בספרות מכנים לעיתים את הפרמטרים q i
כקואורדינאטות מוכללות ) (Generalized Coordinatesלהדגיש שההתייחסות המתמטית
כאמור ,נ ִָּד ֵרׁש לתיאור מערכות הצירים באופן אחיד
זהה עבור כל סוגי המפרקים.
ועקבי.לשם כך נרצה ראשית לתאר באופן יחיד (ויעיל) מיקום יחסי בין שתי קרניים (שנחשוב
על מקור הקרן כמיקום המפרק ,וכיוונה ככיוון המפרק) .בהינתן שני ישרים כלליים Q1 Q2
במרחב ,המיקום היחסי שלהם ייקבע חד-חד ערכית באמצעות:
.1המרחק ביניהם :אורך הקטע aהמחבר בין שניהם וניצב לשניהם( ,כיוונו .)Q1xQ2
.2הזווית ביניהם ,הנמדדת על המישור המאונך ל .a -
באיור הבא מודגמים שלושת המצבים בהם שני ישרים יכולים להתייחס אחד לשני:
מקבילים :המרחק ביניהם
שרירותי והזווית מתאפסת
חיתוך :המרחק ביניהם
מתאפס והזווית שרירותית
הצטלבות :המרחק ביניהם אינו
אפס ,והזווית (הביטו בָ צל)
49
51
מבוא לרובוטיקה
ד"ר ניר שוולב
לאור זאת ,בכדי לאפיין את המיקום והאוריינטציה היחסית בין שני צירים נצטרך לציין
ארבעה גדלים ,נבהיר זאת עתה .בהינתן שני קוים ובהינתן מיקום ואוריינטציה של קו אחד
(המייצג ציר ללא התחלה או סוף) ,אם נציין את המרחק ביניהם והזווית על המישור המאונך
למרחק ,נשאר עם שתי דרגות חופש שהן קביעת מיקום ההתחלה של כל ציר.
דנביט-והרטנברג הזדקקו כמובן ל 9-פרמטרים לתיאור .אך ,במגמה לפשט את הביטויים
המתמטיים המתקבלים ,הם בחרו פרמטרים אחרים ובזאת טמונה תרומתם .נעמוד על אופן
התיאור שהציעו צמד החוקרים בהמשך הפרק.
טרם נתחיל בפתרון הבעיה נעמוד על ניסוחה הפורמאלי .נסכם ,כעת ,את הידוע לנו( :א) אנו
דנים ברובוט טורי ,כלומר בשרשרת קינמטית פתוחה( .ב) הרובוט בעל n+1חוליות :חוליית
בסיס בעלת אינדקס {,... ,}3חוליה אחרונה (החוליה האחרונה היא חוליית התפסנית
ומסומנת ב } .){nלכל חוליה מודבקת מערכת צירים (קרטזית) ,כך שמערכת iדבוקה לחוליה
( .iג) הרובוט בעל nמפרקים המסומנים באות .qהמפרק q1מחבר בין הבסיס לחוליה .6
המפרק qiמחבר בין חוליה i-1לחוליה ה .i -כל מפרק הוא בעל דרגת חופש יחידה (סיבובי או
ליניארי).
מספור מערכות צירים ברובוט טורי n=4( RRRכולל התפסנית)
מהאיור שלעיל נקל להבין כי הרעיון בשיטת המספור הזו הוא שהקואורדינאטות של נקודות
בחולייה ה i -תשארנה קבועות ,ביחס למערכת הצירים ה i -בעת שהרובוט נע .במילים
אחרות מערכת הצירים תוצב בצמוד לחולייה (ובקצה שלה) ,בכדי לתאר את ההשפעה של
המפרק ,המסובב את אותה חולייה .שים לב! ,מערכת צירים 0קבועה באדמה (חוליה )0
ואיננה מסתובבת בהשפעת סיבוב המפרק הראשון .מערכת צירים 4היא זו שמסתובבת עם
סיבוב המפרק הראשון.
פורמאלית ,בעיית הקינמטיקה הישירה ,אם כן ,היא למצוא את מטריצת הטרנספורמציה
ההומוגנית ממערכת התפסנית למערכת הבסיס כפונקציה של ערכי המפרקים : q n ,, q1
מבוא לרובוטיקה
)(4.1
ד"ר ניר שוולב
dn
1 44
R
Tn q1...q n n
0
בפרקים הקודמים עסקנו בחישוב מטריצות הטרנספורמציה
di
1 4 4
i 1
)(4.2
i 1 R i
Ti qi
0
i 1
נשים לב כי מטריצה זו תלויה אך ורק ב .qi -פתרון בעיית הקינמטיקה הישירה מתקבל
באמצעות שרשור הטרנספורמציות בין החוליות ,החל מ n-1An -וכלה ב:0A1 -
)(4.3
Tn q1 q n T1 q1 1 T2 q 2 n 1Tn q n
לשם בהירות ,המטריצה ( )9.6תאפשר לנו לבטא את המיקום והאוריינטציה של התפסנית
} {nבקואורדינאטות העולם { }3באמצעות הכפלתה בווקטור המבוטא במערכת התפסנית.
באופן זה עבור כל מצב מפרקים הווקטור יעבור טרנספורמציה אחרת וימוקם בהתאם
במערכת העולם.
הקושי בפתרון הבעיה הישירה טמון בבחירה נכונה של כיווני מערכות הצירים והפרמטרים,
ולכן נתעניין בתיאור פשוט ככל האפשר של סדרת הטרנספורמציות הזו .החופש שלנו הוא
בהצבת ראשיתות הצירים .התיאור המתמטי הפשוט ביותר יתקבל אם נציב את ראשית
מערכת הצירים ה }i+6{ -קרוב ככל האפשר לראשית של מערכת הצירים ה – { .}iהצמדה
כזו נוסחה ע"י דנביט והרטנברג ) .(10Denavit & Hartenbergבאיורים שלמטה נתמקד
בחוליה אחת מתוך הרובוט ,כאשר שני ה"חורים" ממוקמים בצירי המפרקים המחברים את
החוליה לרובוט.
הצמדת מערכות צירים
10השם דנביט וה רטנברג מיוחס בספרות לשתי בניוֹת שונות :הבניה הדיסטאלית והבניה הפרוקסימאלית
(ההבדלים בעיקר באופן האינדוקס) אנו נשתמש בגישה הדיסטאלית (לעיון בזו הפרוקסימאלית ראה [.)]1
51
52
מבוא לרובוטיקה
ד"ר ניר שוולב
כפי שמודגם באיור שלעיל (ראה גם איור קודם) ,כל מערכת קואורדינאטות מוצמדת לחוליה
על פי הכללים הבאים:
(א) את ציר Ziנצמיד לאורך מפרק .qi+1
(ב) הצבת ציר Xiתהיה לאורך הניצב המשותף ל Zi -ו Zi-1 -וכיוונו מ Zi-1 -ל. Zi -
(ג) את ציר Yiנבחר כמשלים את , Zi ,- Xiשנקבעו זה מכבר ,למערכת אורתונורמאלית
ימנית (כלומר כזו שמקיימת ˆˆ Xˆ Y
, Zראה איור משמאל)
(ד) ראשית מערכת { }iממוקמת בחיתוך בין הניצב המשותף למפרק qiו qi+1 -ובין
מפרק .qi+1
(ה) מערכת צירים – {( }3מערכת הבסיס) ִת ָּקבַ ע שרירותית כש Z0 -יוצב לאורך ציר q1
(ראה איור) .אנו נקבע שהמערכת תמצא בבסיס הרובוט .על המערכת הזו אין דרישה
לכיוון ,Xואנו נעדיף כמובן את הכיוון שיקל עלינו את החישובים .בד"כ יהיה זה
בכיוון ציר Xשל מערכת הקוראורדינטות {.}6
(ו) מערכת צירים – }( {nמערכת התפסנית) ִת ָּקבַ ע שרירותית בחולייה האחרונה כש Xn -
יוצב בניצב ל.Zn-1 -
נעמוד על המקרים בהם הכלת כללים אלו אין בה כדי לקבוע את מערכות הצירים:
(ז) שני מפרקים סמוכים נחתכים – כלומר ,אין ביניהם ניצב משותף ( ,)ai=3ולכן על פי
כלל (ב) ניתן לבחור את ציר Xiלכיוון החיובי או השלילי (סימן הכיוון חסר חשיבות,
כי סימן הווקטור מובא בחשבון בקביעת הפרמטרים המאפיינים את המיקום היחסי
בין צירי המפרקים) .הצבת ציר Xiבמקרה זה תהיה בכיוון הנוח ביותר מבחינת
קביעת הפרמטרים ,וראשית מערכת הצירים { }iתמוקם בנקודת המפגש.
(ח) שני מפרקים סמוכים זהים ( - )Zi=Zi-1הציר Xiיִ בָּ חֵ ר להיות בניצב לשניהם
והראשית תבָּ חר שרירותית.
(ט) שני מפרקים סמוכים מקבילים ( - )Zi || Zi-1נבחר את הראשית כך שהמרחק בין
הראשית Oiלראשית הקודמת לה Oi-6מינימאלי.
עתה ,משהקצנו מערכות צירים ,נמצא את הגדלים המאפיינים את מיקומיהם היחסיים של
המפרקים:
ד"ר ניר שוולב
מבוא לרובוטיקה
הפרמטרים של דנביט והרטנברג ()DH
הגודל
i
di
ai
הסבר
הערות/מקרים
הזווית בין Xi-1ל Xi -נמדדת סביב Zi-1
אם qiמפרק/סיבובי ,אז θ iהוא
(נזכור שגם Xi-1וגם Xiמאונכים ל,Zi-1 -
פרמטר שמשתנה .אם qiפריזמטי,
כך בנינו אותם).
אז θ iקבועה.
המרחק הנמדד לאורך Zi-1בין Oi-1לOi -
אם qiמפרק סיבובי ,אז diקבוע .אם
(כלומר מטילים את Oiעל Zi-1ומודדים
qiמפרק פריזמטי ,אז diהפרמטר
את המרחק בינו לבין .)Oi-1
שמשתנה di .יכול להיות שלילי.
המרחק בין Ziל Zi-1 -לאורך ציר ( Xiכך
זהו המרחק הקצר ביותר בין שני
המפרקים .במקרה של חיתוך
בנינו את .)Xi
ביניהם ai .ai=3תמיד חיובי !
i
הזווית מ Zi-1-ל Zi -נמדדת סביב ציר Xi
(שניהם ניצבים ל.)Xi -
עבור רוב הרובוטים שכיחים
o
α i 0 ,90 ,180 ,270ונקבע כך
o
o
o
לשם פשטות החישוב.
הערה חשובה :שימו לב כי מדידת הזוויות נעשית ע"פ כלל יד ימין לאורך הציר שציינו .ואם
לא נציין אחרת ,זווית תימדד מהמשך חוליה אחת ועד לחוליה הבאה אחריה (ראה לדוגמא
איור בפרק ,5שאלה .)5.9
משמצאנו את הפרמטרים ,ננסח את טרנספורמציית הסיבוב והתזוזה בין מערכות צירים
סמוכות באופן הבא:
53
54
מבוא לרובוטיקה
a i cθ i
d i a i sθ i
d
i
ד"ר ניר שוולב
j-1
;
sθ i sα i
-cθ i sα i
cα i
-sθ i cα
cθ i cα i
sα i
cθ i
R j R x α i R z θ i sθ i
0
j-1
ומכאן ,הטרנספורמציה ההומוגנית בין מערכות צירים סמוכות תהיה:
)(4.4
a i cθ i
a i sθ i
di
1
sθ i sα i
-cθ i sα i
cα i
0
-sθ i cα i
cθ i cα i
sα i
0
cθ i
sθ
i-1
Ti i
0
0
הפתרון המלא לקינמטיקה הישירה יתקבל משרשור הטרנספורמציות כפי שדנו לעיל (ראה
נוסחה 9.0בפרק זה).
הערה :ניתן למצוא ברשת סרטי אנימציה רבים שלבטח יסייעו בהבנת מידול .DHהמחבר
ממליץ לחפש סרט של n Ethan Tira-Thompsonמאוניברסיטת .CarnegieMellon
דוגמא :נדגים כיצד גוזרים את הפרמטרים של DHעבור הרובוט RRRהטורי המודגם
באיור.
ראשית נסמן את המפרקים החל מהבסיס ב , q1 , q 2 , q 3כאשר q 3מציין את המפרק הקרוב
לקצה החופשי .ע"פ כלל (ה) נצמיד את מערכת צירים 3לבסיס הרובוט ,כש Z0 -יוצב לאורך
ציר ( q1נשים לב שקבענו גם את מיקום הראשית וגם את כיוון ציר Zשל מערכת .)3כלל (א)
מורה להצמיד למפרקים הסיבוביים q 2 , q 3את הצירים Z1 , Z 2בהתאמה (נשים לב שעדיין
לא נקבעו ראשיתות הצירים של המערכות { .)}9{,}6ע"פ כלל (ב) הצבת ציר Xiתהיה לאורך
הניצב המשותף ל Zi-1 -ו Zi -וכיוונו מ Zi-1 -ל , Zi-ומכאן יקבעו גם ראשיתות הצירים של
מערכות { }9{,}0כמוצג באיור:
ד"ר ניר שוולב
מבוא לרובוטיקה
נשים לב ש Z1 || Z0ולכן נקבע את ראשית מערכת צירים { }6קרוב ככל האפשר לראשית
הקודמת .המרחק בין Z1ו Z2עובר בבֶ ֶרך וקובע את .X2מערכת הצירים השלישית (מערכת
התפסנית) נבחרת באופן שרירותי כאשר X3ניצב ל Z2 -בהתאם לסעיף (ו) .את צירי ה Y
נשלים באופן שכל מערכות הצירים תהיינה ימניות .הפרמטרים של DHיקבעו באופן הבא:
Θi
di
ai
αi
מפרק i -
Θ6
0
a0
0
1
Θ2
0
a6
-90
2
Θ3
a3
0
0
3
נציב בנוסחה 3לקבל את הטרנספורמציות:
a 1cθ 2
a 1sθ 2
;
0
1
- sθ 2
cθ 2
0
0
0
0
-1
0
0 a 0 cθ1
cθ 2
0 a 0 sθ1 1
sθ
; T2 2
1
0
0
0
1
0
cθ1 - sθ1
cθ1
sθ
0
T1 1
0
0
0
0
פתרון הקינמטיקה הישירה יתקבל מהכפלה. 0 T3 0 T1 1 T2 2 T3 :
55
56
ד"ר ניר שוולב
מבוא לרובוטיקה
תרגיל :1.4עבור הרובוט RRהטורי המודגם באיור:
(א) קבע את מערכות הצירים על-פי ( .DHב) מצא
פרמטרים של DHורכז אותם בטבלה( .ג) מצא את
מטריצת הטרנספורמציה - 0T2במילים אחרות פתור את
הקינמטיקה הישירה.
פתרון( :א) נציב את מערכת העולם בבסיס הרובוט .נבחר
את ציר Z0של מערכת העולם בכיוון .q1ציר Z1יוצב
בכיוונו החיובי של ( q2הכיוון שהוחלט כחיובי) .נציב את
מערכת התפסנית (ראה כלל ו' בתחילת הפרק).
שרירותית נזכור שהדרישה היחידה היא ש X2 -יוצב
בניצב ל .Z1 -נשלים את מערכת התפסנית למערכת ימנית
כבאיור .עתה (ראה כלל ב') ציר X6יהא לאורך הניצב
המשותף ל Z1 -ו Z2 -וכיוונו מ Z1 -ל Z2 -כמוצג באיור.
נשים לב ששני המפרקים Z1 || Z2מקבילים ,ולכן (ראה
כלל ט') נבחר את הראשיתות כך שהמרחק ביניהן יהא
מינימאלי.
(ב) בכדי למלא את הפרמטרים יש לבחון ראשית את
כיווני הצירים :עבור הציר בבסיס הרובוט -ציר - q1
זווית הסיבוב
מודדת את הזווית בין הצירים X0ל X1 -ונמדדת סביב .Z0זווית הסיבוב
מודדת את הזווית בין הצירים X1ל, X2 -נמדדת סביב ,Z1ומתאפסת במצב המאויר
(במצב בו שני הצירים מתלכדים) .אגב ,כשאנו אומרים "נמדדת סביב "Z1הכוונה היא תוך
שימוש בכלל יד ימין.
di
L1
0
מטילים את Oi
ai
0
L2
מרחק בין Ziל-
על Zi-1ומודדים Zi-1לאורך Xi
את המרחק בינו (תמיד חיובי)
לבין Oi-1
αi
900
00
הזוויות בין Zi-1
Θi
Θ6
Θ2
זוויות בין Xi-1לXi -
ל Zi -סביב Xi
סביב Zi-1
i
1
2
ד"ר ניר שוולב
מבוא לרובוטיקה
(ג) נציב בנוסחה ( )9.9לקבל את הקינמטיקה הישירה:
0 L2 c 2
0 L2 s 2
1
0
0
1
s 2
c 2
0
0
0 c 2
0 s 2
L1 0
1 0
0 s1
0 c 1
1
0
0
0
L2 c1c 2
L2 s1c 2
L1 L2 s 2
1
s1
c 1
0
0
c 1
s
0
0
1
T2 T1 T2 1
0
0
c1 s 2
s1 s 2
c 2
0
c 1 c 2
s1c 2
s
2
0
תרגיל :1.5עבור הרובוט RPRהטורי המודגם באיור הבא( :א) קבע את מערכות הצירים
על-פי ( .DHב) מצא פרמטרים של DHורכז אותם בטבלה( .ג) מצא את מטריצות
1
0
1
2
הטרנספורמציות ( . T1 , T2 , T3ד) כתוב את הביטוי עבור הטרנספורמציה . T3
פתרון( :א) נציב את מערכת העולם בבסיס הרובוט כמודגם באיור הבא (נבחר את ציר Z0של
מערכת העולם בכיוון .)q1ציר Z1יוצב בכיוונו החיובי של ( q2הכיוון שהוחלט כחיובי,
ובמקרה זה -כיוון ההתארכות של המפרק
הפריזמטי) .ציר Z2יוצב בכיוונו החיובי
של .q3את מערכת התפסנית נציב בהמשך
.כיוון ש ( Z1=Z2ראה כלל ח' בתחילת
הפרק) נציב את הציר X1בניצב לשניהם,
והראשית תבחר שרירותית להיות בדיוק
נזכור
מעל ראשית מערכת הבסיס.
שהדרישה
היחידה
על מערכת התפסנית היא ש – X3יוצב
57
מבוא לרובוטיקה
58
ד"ר ניר שוולב
בניצב ל ,Z2 -ונשלים את מערכת התפסנית למערכת קואורדינאטות ימנית.
(ב) נרכז את הפרמטרים של DHבטבלה הבאה:
di
L1
L2
L3
αi
900
00
00
ai
0
0
0
Θi
Θ1
0
Θ2
i
1
2
3
נשים לב ש L2הינו הפרמטר המשתנה של המפרק הפריזמטי( .ג) נציב ב ( )9.9ונקבל
0
0
1 L2
0 1
0
0
0
1 0
01
0 1
T2
1 L3
0 0
0 1
0 0
0
0
(ד) T2 2 T3
- sθ 2
cθ 2
0
0
0
cθ 2
0 2
sθ
T3 2
L1
0
1
0
0 sθ1
0 - cθ1
0
0
1
0
cθ1
sθ
0
T1 1
0
0
1
תרגיל :1.6עבור הרובוט RPRהטורי המודגם באיור הבא( :א) קבע מערכות הצירים על-פי
( .DHב) מצא פרמטרים של DHורכז אותם בטבלה.
(ג)
מצא
0
1
2
. T1 , T2 , T3
את
(ד)
מטריצות
פתור
את
הטרנספורמציות
הביטוי
עבור
0
הטרנספורמציה . T3
פתרון( :א) בבחירת מערכות הצירים נשים לב כי:
Z1||Z0ולכן ע"פ כלל ט' (ראה תחילת הפרק) ראשית
הצירים O1תיבחר במיקום הקרוב ביותר לראשית
.O0
Z1 Z 2 ולכן ראשית הצירים תהיה
בנקודת החיתוך .ציר X1ייבחר מאונך ל Z0ול.Z1 -
ציר X2ייבחר מאונך ל Z1ול . Z2 -ציר X3יהיה מאונך ל( .Z2 -ב) יש להסתכל על
הקונפיגורציה של הרובוט ,בה הכי קל להבין את מנח הצירים הכללי .לשם כך נבחר את ציר
X0בכיוון ציר X1כמודגם באיור.
59
ד"ר ניר שוולב
מבוא לרובוטיקה
כעת נוכל למצוא את הפרמטרים ונרכזם בטבלה
:הבאה
מפרק
Θi
αi
ai
di
1
Θ1
0o
a
0
2
90o
0
L4+L1
3
Θ3
0o
L6
L5
נביט באיור הבא המתאר 2 בכדי להיווכח ש
:את הרובוט במבט על
: ונקבלiTi+1 -נציב כעת במשוואות שמצאנו ל
c1
s
0
T1 1
0
0
- s1
c1
0
0
0 ac1
cα
0 as1 1
sα
; T2
1 0
0
0
0 1
c3
0 - cα
0 2
c
; T3 3
1 0 L1 L 4
0
0
0 0
1
0
sα
0
- s3
c3
0
0
0 L6c3
0 L 6s 3
1 L5
0
1
:ולכן
c1α c 3
s s
0
T3 0 T2 1 T2 2 T3 1α 3
s
3
0
c1α s 3
s1α s 3
s1α
c1α
c3
0
0
0
L 6 c1α c 3 L 5 s1α αc 1
L 6 s1α c 3 L 5 c1α αs 1
L 6 s 3 L1 L 4
1
מבוא לרובוטיקה
61
ד"ר ניר שוולב
כאשר )c1α cos(θ1 α); s1α sin(θ1 α
תרגיל :1.1נתון הרובוט המישורי RPRהמודגם באיור( ,א)
מהו מרחב העבודה של הרובוט (ב) פתור את בעיית הקינמטיקה
הישירה.
פתרון( :א) הרובוט בעל 0דרגות חופש .מפרק q1הוא מפרק
סיבובי מישורי סביב .Z0מפרק ,q2מפרק פריזמטי ,נע ע"ג ציר .Z1מפרק q3הוא מפרק
סיבובי מישורי סביב .Z2בכדי להתחקות אחר מרחב העבודה נדמיין את הקטע המחבר בין
ראשית הצירים למפרק הסיבובי השני .Lאורך הקטע Lתלוי במידת פתיחת המפרק
הפריזמטי L1וערכו
2
. L L1 L 0כיוון שאורך המפרק הפריזמטי נע בין אפס (לשם
2
פשטות) לגודל מקסימאלי נתון L ,נע בין
L1לערך
מקסימאלי . Lmaxעבור כל ערך של ,Lזרוע התפסנית יכולה
להסתובב סיבוב מלא סביב המפרק הסיבובי { .}9מרחב
העבודה יהא ,אם כן ,טבעת מישורית שרדיוסה החיצוני
ורדיוסה הפנימי ( Lmin L1ב) לאחר בחירת מערכות
הצירים ,נמצא את הפרמטרים של DHונקבצם בטבלה
שבעמוד הבא:
di
ai
αi
Θi
מפרק
0
L0
-900
Θ1
1
L9
L6
900
0
2
0
L0
0
Θ2
3
נציב בנוסחה (:)9.9
ד"ר ניר שוולב
מבוא לרובוטיקה
תרגיל :1.2נתון רובוט בעל 0דרגות חופש( .א) מהו מרחב
העבודה של הרובוט (ב) פתור את בעיית הקינמטיקה הישירה.
(ג) כתוב את הטרנספורמציה המתארת את מיקום המפרק
הסיבובי השני ביחס לבסיס הרובוט( .ד) הסבר מהי
האוריינטציה והמיקום של יחידת הקצה.
פתרון( :א) המקום הגיאומטרי של המפרק הסיבובי השני
יחסית לבסיס הרובוט הוא מעגל בגובה L0וברדיוס .L1עבור
כל מיקום כזה התפסנית חופשית לנוע סביב בטבעת עם רדיוס
חיצוני ופנימי נתונים .מכאן ,שמרחב העבודה יהא טורוס מלא
כמודגם .נעיר כי במידה והמפרק הפריזמטי מאפשר זאת
הטורוס יכול "להתנפח" במידה כזו שחור הטורוס ייסגר( .ב) לאחר קביעת מערכות הצירים
{ }3ו }6{ -ציר Z2נקבע בכיוון המפרק הפריזמטי .שתי ראשיתות מערכות הצירים { }6ו-
{ {9מתלכדות ,אם כן .נרכז את הפרמטרים של DHבטבלה הבאה:
di
ai
αi
Θi
מפרק
L0
L1
+90º
Θ1
1
0
0
+90º
+Θ2
2
L9
0
0
0
3
נעיר כי בקביעת הפרמטרים הנחנו כי Θ2מתאפס בעת שהמפרק
הפריזמטי מכוון כלפי מטה .לאחר הצבה בנוסחה ( )9.9נקבל:
61
מבוא לרובוטיקה
62
0
0
0 1 L2
0 0 1
0 0
1 0
ד"ר ניר שוולב
1
0
2
T3
0
0
0
0
;
0
1
0 - s2
0 - c2
0
0
1
0
c2
- s
1
T2 2
0
0
L 1 c1
L 1s 1
;
L0
1
0 s1
0 c1
0
0
1
0
c1
s
0
T1 1
0
0
הפתרון לקינמטיקה הישירה יתקבל מהכפלת המטריצות:
c1 s 2 L 2 L 1 c1
s 1 s 2 L 2 L 1s 1
c2L2 L0
1
c 1s 2
s 1s 2
s1
c1
c2
0
0
0
(ג) הטרנספורמציה הדרושה היא T2 0 T1 1 T2
v 31
המיקום נתונים כ :
1
R
T3 33
0
0
c1 c 2
s s
0
T3 1 2
s
2
0
(ד) מטריצת האוריינטציה ווקטור
0
תרגיל :1.6נתון הרובוט המישורי המודגם באיור ,מצא
את פרמטרי דנביט והרטנברג ורשום את הטרנספורמציות
. 0 T1 , 1T2
הפתרון :נשים לב כי אין לזווית הברך כל משמעות קינמטית ,ולמעשה הזווית תהווה
פרמטר בפתרון הקינמטיקה הישירה .לאחר הצבת מערכות הצירים ההבחנה שלנו אוששה,
מערכת צירים { }6מוקמה בנקודה שכלל אינה תלויה בזווית הברך .נסכם את הפרמטרים
הנגזרים בטבלה:
מבוא לרובוטיקה
תרגילים נוספים
9.3פתור את בעיית הקינמטיקה הישירה עבור הרובוט
RPPהמרחבי המודגם באיור:
תשובה:
9.1פתור את בעיית הקינמטיקה הישירה עבור מפרק ספרי( .כפי
שהוזכר בפרק הראשון המודל עבור מפרק כזה יהא רובוט RRR
מרחבי כמודגם באיור .אורכי החוליות עבור רובוט כזה יתאפסו
כולם).
תשובה:
9.6באיור ( ,6ראה עמ' )9מתואר רובוט מרחבי
RRPRמדגם .SCARAפתור את בעיית
הקינמטיקה הישירה עבור רובוט זה.
ד"ר ניר שוולב
63
64
ד"ר ניר שוולב
מבוא לרובוטיקה
תשובה:
0 a 1c1 a 2 c12
0 a 1s1 a 2 s12
1 a 0 d3 d 4
0
1
9.63באיור מודגם רובוט מרחבי .RRP
c123 s123
c123
s
0
T4 123
0
0
0
0
רשום את כל
הטרנספורמציות 0 T1 , 0 T2 , 0 T3עבור רובוט זה.
תשובה:
0
0
;
L1
1
c1s 2
- s1c 2
- c2
0
0
c1 c 2 s 1
0 0
s1s 2 - c1
;
T
2
s
L1
0
2
1
0
0
s1 c1s 2
L 2 c1s 2
- c1 s1s 2
L 2 s1s 2
L1 L 2 c 2
1
- c2
0
0
0
s1
0
0 - c1
1 0
0 0
c1
s
0
T1 1
0
0
c1 c 2
s c
0
T3 1 2
s
2
0
9.66בתמונה זרוע רובוטית ( RRPRRלשם פשטות "מחקנו" מפרק סיבובי אחד) בשם זרוע
סטנפורד (ראה הקדמה) .קבע מערכות קואורדינאטות ומצא את פרמטרי .DH
תשובה:
ד"ר ניר שוולב
מבוא לרובוטיקה
di
ai
αi
Θi
מפרק
L0
0
+90º
Θ1
1
L1
0
+90º
Θ2
2
L3
0
90º
90º
3
L4
0
90º
Θ4
4
L5
0
0
Θ5
5
9.69חשב את הקינמטיקה הישירה עבור הרובוט הצילינדרי RPP
תשובה:
0 rc1
0 rs1
0 z
0 1
- s1
c1
1
0
c1
s
0
T2 1
0
0
65
66
ד"ר ניר שוולב
מבוא לרובוטיקה
.5הקינמטיקה ההפוכה
לאחר שלמדנו כיצד לפתור את בעיית הקינמטיקה
הישירה ,נפנה לדון במצב שכיח :נניח כי זרוע הרובוט
נתונה בקונפיגורציה ידועה וברצוננו למקם את התפסנית
בנקודה נתונה במרחב העבודה .השאלה הראשונה העולה
היא :האם מסוגלת תפסנית הרובוט להגיע ליעד הרצוי
(מיקום ,אוריינטציה ואו שניהם)? בהנחה שהתשובה
לשאלה הראשונה חיובית נרצה כמובן לדעת מהם ערכי
המפרקים שיביאו את התפסנית ליעודה – זוהי בעיית
הקינמטיקה ההפוכה ).(Inverse Kinematics
הערה :כפי שניווכח במהלך הפרק ,בעיית הקינמטיקה ההפוכה קשה ולעיתים אף בלתי
פתירה .על אף שלא נעמוד על המקרים הללו נציין שבמקרים כאלו ניתן למקם את תפסנית
הרובוט באמצעות אנליזה ליניארית בה נדון בפרק הבא או באמצעות דגימה מקדימה של כל
הקונפיגורציות האפשריות (ראו פרק )69ורישומן בטבלת חיפוש ).(Look Up Table
דוגמא :נתון הרובוט המישורי RRהמודגם באיור ,ונתון מיקום x, y רצוי
עבור התפסנית .הבעיה הקינמטית ההפוכה מסתכמת במציאת כל ערכי
המפרקים θ1 , θ 2 המתאימים.
מהתבוננות באיור שמשמאל נקל להבין
שקיימים שני פתרונות לבעיה – במילים אחרות ,עבור הרובוט המישורי RRקיימות שתי
אפשרויות להגיע לנקודה הנתונה מרפק עליון ומרפק תחתון (.)elbow up, elbow down
לבד מריבוי הפתרונות ,הקינמטיקה ההפוכה מערבת התמודדות עם משוואות טרנסנדטליות
(בהם המקדמים עצמם אינם פתרונות של פולינום) – משואות כאלו נוטות להיות קשות
ולעיתים אף בלתי פתירות .בהקשר די להזכיר את משפט גלואה הטוען כי החל מפולינומים
בסדר 5והלאה ,אין נוסחה למציאת כל השורשים.
הגדרה :בהינתן הקינמטיקה הישירה של רובוט
44
d n q1 q n
1
0
0 R n q1 q n
0
ובהינתן מיקום 0 d nואוריינטציה 0 R nרצויים של התפסנית ,בעיית הקינמטיקה ההפוכה
מבקשת למצוא את פרמטרי המפרקים המתאימים . q1 q n כאשר סימָּ נו את פרמטרי
הכניסה ( .6זוויות .9 ,θiאורכם )αiשל הרובוט ב.qi -
ד"ר ניר שוולב
מבוא לרובוטיקה
רובוט ייקרא פתיר ( (Solvableאם ניתן למצוא את כל הפתרונות של הקינמטיקה ההפוכה
באמצעות אלגוריתם או באמצעות פתרון אנליטי( .ברור שתמיד תהיה עדיפות לפתרון אנליטי
מטעמי זמן החישוב והבנת הקינמטיקה של הרובוט).
משפט :רובוטים טוריים בעלי 9דרגות חופש עם מפרקי R,Pבלבד הם פתירים (פתרון
נומרי) .נעיר ,שלא כל מטריצה Rווקטור dמהווים סיבוב והזזה פיזיקאליים .נבדוק:
(א) האם Rהיא מטריצת סיבוב .נזכור שמטריצת סיבוב Rמקיימת:
R T R I; detR 1
(ב) האם dאפשרית .כלומר האם המיקום הרצוי של התפסנית נמצא במרחב העבודה.
(ג) האם התבנית של Rו d-תואמת את התבנית של הקינמטיקה הישירה .אם נתמקד,
לדוגמא ,ברובוט RPPמהפרק הקודם (דוגמא )9.3שטרנספורמציית הקינמטיקה הישירה
שלו נתונה במטריצה:
L 2 s1
L 2 c1
L1
1
s1
c1
0
0
0
0
1
0
c1
s
0
T2 1
0
0
כיוון שווקטור המיקום של התפסנית נתון כ , d L 2 s1 , L 2 c1 , L1 -על כל מיקום רצוי
x 0 , y 0 , z 0 של התפסנית לקיים את התבנית הזו וכך לדוגמא . x 0 y 0 1
2
2
בהינתן d ,Rפיזיקאליים ,מערכת המשוואות המתקבלת מהשוואתם לקינמטיקה הישירה
נקבל( :א) 0 ºdn=dמשוואות בלתי תלויות עבור המקרה המרחבי ( 9משוואות עבור
המקרה המישורי) עם q1 q nנעלמים( .ב) 6 ºRn=Rמשוואות עם q1 q nנעלמים
עבור המקרה המרחבי (משוואה אחת עבור המקרה המישורי) .אולם ,מכיוון שידוע שסיבוב
ˆ nניתן לכתוב באמצעות ווקטור יחידה ˆ nוזווית הסיבוב ,θנוספו רק 0משוואות בלתי
תלויות במקרה המרחבי (משוואה אחת עבור המקרה המישורי).
בסה"כ קיבלנו 9משוואות במקרה המרחבי ( 0משוואות עבור המקרה המישורי) ו n-נעלמים.
נסמן את ממד מרחב התנועה של התפסנית בו אנו דנים ( d=6לרובוט מרחבי d=3 ,לרובוט
מישורי) ונמנה את המקרים האפשריים:
(א) אם n=dקיים מספר סופי של פתרונות.
67
68
ד"ר ניר שוולב
מבוא לרובוטיקה
(ב) אם n<dלא בטוח שניתן להגיע לנקודה הרצויה באוריינטציה הרצויה.
(ג) אם n>dיש אינסוף פתרונות ,שמהווים יריעה n-dממדית( .במצבים מיוחדים אוסף
הפתרונות אינו מהווה יריעה ,לקורא המתעניין מומלץ לקרוא [)]65
לשם המחשה נדגים זאת עבור מרחב הפתרונות בו הדרישה היא על מיקום התפסנית ללא
דרישה על האוריינטציה שלה (במקרה כזה :)d=2
מרחב הפרמטרים האבסטרקטי
לרובוט
שני
המפרקים
מפרקים
( .)n=2במצב זה קיימות
שתי קונפיגורציות לכל
מיקום גנרי של התפסנית.
לרובוט שלשה מפרקים
( .)n=3במצב זה קיים
מרחב רציף בן ממד יחיד
לכל מיקום גנרי של
התפסנית .קו כזה יהא
איחוד של מסלולים
סגורים.
מרחב הפרמטרים עבור
רובוט
מישורי
RRRR
הוא -9ממדי ( ,)n=4ולכן
בטבלה נאלצנו להציג חלק
מהקואורדינאטות .אף על
פי כן ,האיור מציג יריעה
דו ממדית כנטען.
על רובוט במרחב תלת ממדי לקיים 9משוואות אילוצים ,ולכן בכדי לאפשר מיקום תפסנית
במרחב השש ממדי נצטרך לפחות 9מפרקים .עם זאת ,קיימת עדיפות לרובוטים יתירים
)( (Redundant Robotsכלומר כאלו בעלי יותר מ 9-מפרקים) ,בכדי לאפשר יתר תנועתיות
לדוגמא ראו [ ]69ברשימת המקורות.
ד"ר ניר שוולב
מבוא לרובוטיקה
התשובה לשאלה בדבר קיום פתרון לבעיית הקינמטיקה ההפוכה תלויה כמובן באופן התכנון
של הרובוט ,לבד מהשיקולים המתמטיים הננקטים .לדוגמא ,תנועת מפרקים סיבוביים יכולה
להיות מוגבלת -ובאופן זה ,לא כל פתרון מתמטי יהיה קביל .לאור האמור ,ברור שלאחר
מציאת פתרון מתמטי חובה עלינו לבדוק האם הוא קביל.
בחירת הפתרון :בכדי לבחור מתוך קבוצת הפתרונות עבור בעיית הקינמטיקה ההפוכה ,עלינו
ל כלול שיקולים נוספים על אלו הגיאומטריים .בדרך כלל אחד או יותר מהטיעונים הבאים
נשקלים( :א) במקרה שקיימים מכשולים במרחב העבודה נעדיף למקם את זרוע הרובוט
רחוק מהם ככל האפשר( .ב) נרצה להקטין ככל הניתן את שינוי הפרמטרים של המפרקים
מערכם הנוכחי( .ג) נרצה לשנות באופן מינימאלי את תזוזת החוליות( .ד) נרצה לשנות באופן
מינימאלי את החוליות הכבדות.
כלל אצבע :ככל שיותר פרמטרים מסוג aשל דנביט והרטנברג מתאפסים ,כך קטֵ ן מספר
הפתרונות לקינמטיקה ההפוכה .לדוגמא :עבור רובוט פומה (ראה איור) ai=3לכל iולכן
קיימים לכל היותר 1פתרונות לבעיית הקינמטיקה ההפוכה.
תרגיל :2.4בתרגיל 9.0ראינו כי עבור הרובוט RPRהטורי המודגם באיור הקינמטיקה
הישירה נתונה בטרנספורמציה . 0 T3פתור את בעיית הקינמטיקה ההפוכה.
L 6 c1α c 3 L 5 s1α αc 1
L 6 s1α c 3 L 5 c1α αs 1
L 6 s 3 L1 L 4
1
s1α
c1α
c1α s 3
s1α s 3
0
0
c3
0
c1α c 3
s s
0
T3 1α 3
s
3
0
69
71
ד"ר ניר שוולב
מבוא לרובוטיקה
פתרון :הקינמטיקה ההפוכה היא פתרון המשוואה המטריצית:
Px
R
Py
0
T3
Pz
0 0 0 1
בכדי לפשט את הפתרון נביט במבט על ,ונשתמש בקשרים גיאומטריים .מהאיור ניתן לראות
שהביטוי ל ( ,Px2+PY2כלומר סכום הריבועים האיברים ( )9,9( )6,9במטריצה )0T3תלוי רק ב-
.θ9
ac α L 6 c 2 2 L5 L 2s α 2 PX2 PY2
בכדי למצוא את קבוצת הפתרונות המלאה עבור הזווית θ9נבודד את c2ואת .s2
- ac α PX2 PY2 L 5 L 2 s α
2
L6
c2
ומכאן:
2
2
2
L 6 - ac α PX2 PY2 L 5 L 2 s α
L6
s 2 1 - C 32
ד"ר ניר שוולב
מבוא לרובוטיקה
ובנוסף ,קיבלנו את הביטוי ל : θ 2
2
2
2
2
atan2 L 6 - ac α PX2 PY2 L 5 L 2 s α ,-ac α PX2 PY2 L 5 L 2 s α
נשים לב שקיימים ארבעה פתרונות לזווית .θ9בכדי למצוא את הזווית θ6נתמקד בזווית
φ BAPתוך שימוש במשפט הקוסינוסים.
L25 L 6 c 3 PX2 PY2 α 2 - 2α PX2 PY2 cφ
2
ושוב נמצא ביטוי עבור sומשני הביטויים נקבל את הביטוי עבור :
2
2 2
2
2
atan2 4α PX2 PY2 α 2 PX2 PY2 L25 L 6 c 2 , α 2 PX2 PY2 L25 L 6 c 2
כאמור ל c2 -שני ערכים ומכאן לקיימים שני ערכים גם ל . וכמובן:
. θ1 φ atg 2 PY , PXניתן לחלץ את פרמטר המפרק הפריזמטי מהשוויון המטריצי או
מהתמונה הגיאומטרית ולקבל . L 4 Pz L 6 s 3 L1 :לסיכום :קיימים ארבעה פתרונות
עבור הבעיה הקינמטית ההפוכה.
תרגיל :2.5מהו מרחב העבודה ומרחב ה Dexterity-של
הרובוט 0Rהמישורי שבאיור? מצא את הקינמטיקה ההפוכה
עבור הרובוט כאשר , L 3 0כלומר התפסנית צמודה למפרק
השני ויכולה להסתובב סביבו.
פתרון :מרחב העבודה של הרובוט הוא הטבעת המישורית
אשר הרדיוס המינימאלי והמקסימאלי שלה נתונים כערכי הקיצון של הסכום
, εi Li
i
כאשר i 1,1והאינדקס iמונה את החוליות .למעשה ,מרחב העבודה עבור כל רובוט
מישורי בעל מספר שרירותי של מפרקים סיבוביים יהא טבעת מישורית שהרדיוס המינימאלי
והמקסימאלי שלה נתונים בביטוי זה .במקרה שלנו נקודה ) (x,yתמָּ צא בתוך מרחב העבודה
אם . L1 L 2 x 2 y 2 L1 L 2מרחב ה Dexterity-במקרה זה זהה למרחב העבודה
כיוון שבכל נקודת עבודה יכולה התפסנית לבצע סיבוב מלא .בכדי למצוא את הקינמטיקה
71
72
ד"ר ניר שוולב
מבוא לרובוטיקה
ההפוכה נצטרך לפתור ראשית את הקינמטיקה הישירה .הצבת מערכות הצירים פשוטה (ראה
איור ,1פרק .)6
0 0
0 0
1 0
0 1
- s3
c3
0
0
0 L2c2
c3
0 L 2s 2 1
s
; A2 3
1
0
0
0
0
1
- s2
c2
0
0
0 L1 c1
c2
0 L 1s 1 1
s
; T2 2
1
0
0
0
0
1
- s1
c1
0
0
c1
s
0
T1 1
0
0
הטרנספורמציה המייצגת את הקינמטיקה הישירה נתונה ,אם כן ,במטריצה:
0 L1c1 L 2 c12
0 L1s1 L 2 s12
1
0
0
1
כאשר
c123 - s123
c123
s
0
T3 123
0
0
0
0
. C123 cosθ1 θ 2 θ 3 נזכור שבמקרה המישורי ,האוריינטציה של התפסנית
נקבעת באמצעות זווית אחת .בעיית הקינמטיקה ההפוכה עבור הרובוט שלנו תהיה:
x L1c1 L 2 c12
y L1s1 L 2 s12
θ θ θ θ
2
3
1
את המשוואה המטריצית שלעיל קיבלנו מהשוואת T3
x
הרצויים y
θ
0
לווקטור מיקום והאוריינטציה
.
ע"פ משפט הקוסינוסים ,ידוע
x 2 y 2 L1 2 L 2 2 - 2L1L 2 cosφעבור הזווית בין
החוליות .הקשר בין פרמטרי המפרקים לזווית שמצאנו זה עתה נתון באיורים:
θ2 π φ
מרפק למעלה
θ2 π φ
מרפק למטה
ד"ר ניר שוולב
מבוא לרובוטיקה
ניתן לנסח את בעיית הקינמטיקה הישירה מטריציונית באופן הבא:
c1
s1
- k2
k 1
c1
s1
k1
k2
L 2s 2
L1 L 2 c 2
x L1 L 2 c 2
y L 2 s1
נכפיל במטריצה ההופכית ונשתמש בשיטת קרמר לפתור את המשוואה:
x c1
y s1
את הזווית נחשב מתוך הקשר:
k 1
k2
k1
- k2
1
k k 22
2
1
. 1 a t acn1 ,2s1 הזווית 3תתקבל מהקשר
. 3 1 2נשים לב שכאשר x=y=0הפתרון אינו מוגדר .במצב זה הזווית
1שרירותית .קיבלנו שני פתרונות (מרפק עליון ומרפק תחתון) לבעיית הקינמטיקה ההפוכה.
לבסוף נשים לב שבמצב בו הזרוע מתוחה שני הפתרונות מתלכדים.
בעיית הקינמטיקה ההפוכה אינה פשוטה ,עם זאת ,מתברר כי עבור רובוטים בעלי 9דג"ח
בהם לפחות שלשה צירי מפרקים נחתכים (כמו ברובוט סטנפורד ,וברובוט פומה) ניתן לחלק
את הבעיה לשתי תת בעיות קלות יותר :בעיית המיקום (בה נחפש את קבוצת ערכי המפרקים
בכדי להגיע למיקום תפסנית רצוי) ,ובעיית האוריינטציה (בה נחפש את קבוצת ערכי
המפרקים בכדי להגיע לאוריינטציית התפסנית הרצוי) .במילים אחרות בכדי לפתור את
הבעיה קינמטית ההפוכה ראשית נמצא את הפרמטרים שממקמים את פרק הזרוע במיקום
הנכון ולאחר מכן נבחר את הפרמטרים המתאימים לקבלת האוריינטציה המבוקשת.
משפט ( :)Pieperלרובוטים טוריים בעלי 9דרגות חופש עם 0צירים עוקבים ,שנחתכים
בנקודה .6יש פתרון אנליטי מלא .בכלל זה גם רובוטים עם 0צירים מקבילים עוקבים שכן
הם "נחתכים באינסוף"( .המשפט חל על
מרבית הרובוטים התעשייתיים)
דוגמא :נתמקד ברובוט שש דרגות חופש
6Rמרחבי בשם פומה ) (Pumaשהודגם
באיור 9לעיל (למעשה ,מיקומי המפרקים
עבור דגמים שונים של רובוט פומה
ממוקמים באופן שונה זה מזה –כאן נדון
במבנה "הערום" של הרובוט) .רובוט זה
נמצא בשימוש רב בתעשייה ומשמש לאפליקציות ריתוך ולמשימות הרכבה .שכיחותו של
73
74
ד"ר ניר שוולב
מבוא לרובוטיקה
רובוט פומה נובעת מפשטות הפתרון הקינמטיקה ההפוכה שלו כפי שנדגים כעת .נשים לב,
ששלושת הצירים הרחוקים מהבסיס (אלו קרויים מפרקים "דיסטאליים" בספרות ,להבדיל
מהמפרקים "הפרוקסימאליים" כלומר אלו הקרובים לבסיס הרובוט) נחתכים כולם בנקודה
Pcכמודגם באיור ,כלומר ,סיבוב Θ4 ,Θ5 ,Θ6לא ישפיעו על מיקום נקודה .Pc
במצב הזה
נחלק את בעיית הקינמטיקה ההפוכה לשתי תת-בעיות.
בהינתן
מיקום
התפסנית
d
ומטריצת הסיבוב ,Rמצא את
Pcשמתאימה להם .מכאן מצא
את .Θ1 ,Θ2 ,Θ3
בהינתן d, Rו – Θ1 ,Θ2 ,Θ3 -מצא
את .Θ4 ,Θ5 ,Θ6
בכדי לפתור את הבעיה ההפוכה מפורשות,
נפתור ,ראשית ,את הקינמטיקה הישירה:
נבחר כהרגלנו את כווני המפרקים להיות כווני צירי .Zנשים לב כי שלושת הצירים Z4,Z5,Z6
נחתכים בנקודה אחת .צירי Xנבחרים כהמשכי המרחקים בין צירי Zהקודמים להם לבין
צירי Zשל המערכת הנוכחית .לסיום ,לשם נוחיות ,את כוון Xבמערכת { }3נבחר בכיוון X
במערכת { .}6ריכזנו את הפרמטרים של DHבטבלה .הצבה בנוסחאות המתאימות (ראה
פרק קודם) תניב את הטרנספורמציות (שימו לב כיצד בחרנו למדוד את הזווית :) 2
c1 0 s 1 0
c1
0
s1 0
0
T1
0 1 0 L1
0 0
0
1
c2 s 2 0 L2c2
s 2 c 2 0 L 2s 2
1
T2
0
0 1
0
0
0
0
1
c3 s3 0 0
s3 c3 0 0
2
T3
0
0 1 0
0
0 0 1
di
ai
αi
Θi
מפרק
L1
0
900
Θ1
1
0
L2
0
Θ2
2
0
0
3
Θ3
3
L3
0
-900
Θ4
4
0
0
900
Θ5
5
L4
0
0
Θ6
6
75
ד"ר ניר שוולב
c6
s
5
T6 6
0
0
מבוא לרובוטיקה
s6
c6
0
0
0
c5
04
s5
T
5
0
1 L4
0
0 1
0
0
0 s5
0 c5
1
0
0
0
0
c4
0 3
s4
T
4
0
0
0
1
0
0
s4
c4
1
0
0
0
0
0
L3
1
0
1
2
3
4
5
0
שלT1 T2 T3 T4 T5 T6 יתקבל מההכפלהT6 הפתרון לבעיית הקינמטיקה הישירה
.הטרנספורמציות
n 11 n 12
n 22
n
0
T6 21
n
n 32
31
0
0
n 13 p1
n 23 p 2
n 33 p 3
0
1
כאשר
n 11 c1 c 23 c 4 c 5 c 6 s 4 s 6 s 23s 5 c 6 s1 s 4 c 5 c 6 c 4 s 6
n 12 s1 c 23 c 4 c 5 c 6 s 4 s 6 s 23s 5 c 6 c1 s 4 c 5 c 6 c 4 s 6
n 13 s 23 c 4 c 5 c 6 s 4 s 6 c 23s 5 c 6
n 12 c1 c 23 c 4 c 5 c 6 s 4 c 6 s 23s 5 s 6 s1 s 4 c 5 c 6 c 4 s 6
n 22 s1 c 23 c 4 c 5 c 6 s 4 c 6 s 23s 5 s 6 c1 s 4 c 5 c 6 c 4 s 6
n 32 s 23 c 4 c 5 c 6 s 4 s 6 c 23s 5 s 6
n 13 c1 c 23c 4 c 5 s 23c 5 s1s 4 s 5
n 23 s1 c 23c 4 c 5 s 23c 5 c1s 4 s 5
n 33 s 23c 4 c 5 s 23c 5
p1 c1 L 6 c 23c 4 s 5 s 23c 5 L 5 s 23 L 4 c 23 L 2 c 2 s1 L 6 s 4 s 5 L 3
p 2 s1 L 6 c 23c 4 s 5 s 23c 5 L 5 s 23 L 4 c 23 L 2 c 2 c1 L 6 s 4 s 5 L 3
p 3 L 6 c 23c 5 s 23c 4 c 5 L 5 c 23 L 4 s 23 L 2 s 2 L1
ראשית נחלץ את זוויות המפרקים:נחלק אם כן את בעיית הקינמטיקה ההפוכה לשניים
: Θ1 ,Θ2 ,Θ3 הפרוקסימאליים
הרצויPc θ1 , θ 2 , θ 3 מיקום, מיקום התפסנית ומטריצת הסיבוב בהתאמהR, d בהינתן
את. Pc 1 , 2 , 3 d - R eˆ 3 L 4 כפונקציה של זוויות המפרקים נתון באמצעות הקשר
: נוכל לחשב באופן הבאΘ1 ,Θ2 ,Θ3 זוויות המפרקים
76
ד"ר ניר שוולב
מבוא לרובוטיקה
L 2 c1 c 2
L 2 s1c 2
L1 L 2 s 2
1
c1s 23
s1s 23
s1
c1
c 23
0
0
0
c1c 23
s c
0
T3 1 23
s
23
0
ולכן
c1 L 2 c 2 L 3 c 23 x
Pc θ1 , θ 2 , θ 3 s1 L 2 c 2 L 3 c 23 y
L L s L s z
2 2
3 23
1
גיאומטרית ,אם נביט בהיטל של הנקודה PCעל מישור , XYמרחקה מראשיתו יהא
r L 2 c 2 L 3 c 23ולכן שיעורי הנקודה על המישור יהיו . rc1 , rs1 מנקודת מבט זו נקל
לנחש את מערכת המשוואות המפושטות:
L 2 c 2 L 3 c 23 x 2 y 2
L 2 s 2 L 3 s 23 z L1
y
x
θ1 atan 2
,
2
2
x y x 2 y2
הסימנים במשוואה הראשונה והשלישית מציינים את שתי האפשרויות למיקום אפשרי של
הזרוע :סימן חיובי מציע את האפשרות בו מפרק { }0מצוי ברביע הראשון של מישור ,XY
בעוד שסימן שלילי מציע את האפשרות בו המפרק מצוי ברביע השלישי .פתרון זוג המשוואות
הראשון זהה לתרגיל 5.9שפתרנו.
מצאנו אם כן שני פתרונות לערכי המפרקים Θ1 ,Θ2 ,Θ3המתאימים לכיוון הזרוע ("ימין
ושמאל") .בנוסף לכל פתרון כזה קיימים שתי פתרונות אפשריים המתאימים למצב מרפק
עליון ומרפק תחתון .סה"כ התקבלו 1פתרונות לערכי המפרקים . Θ1 ,Θ2 ,Θ3
הערה :אם x=y=0הפתרון סינגולארי ,בפרק הבא נעמוד בהרחבה על הסיטואציה הזו .בכל
מקרה שימו לב שבמקרה זה PCנמצא בדיוק מעל נקודת הבסיס ,וברור שבקונפיגורציה כזו
אין חשיבות ל - Θ1-כל ערך שלה אפשרי.
כעת נפנה לחלק השני של בעיית הקינמטיקה ההפוכה ,כלומר נמצא את ערכי המפרקים
הדיסטאליים :Θ4 ,Θ5 ,Θ6ידוע כי
ד"ר ניר שוולב
מבוא לרובוטיקה
c 4s 5
s 4s 5
c 5
c 4c5c6 s 4c6
s 4 c 5s 6 c 4s 6
s 5s 6
c 4 c5c 6 s 4s 6
R 6 s 4 c5c 6 c 4s 6
s c
5 6
5
R6 R4 R5
4
3
3
0
3
0
T
נכפיל משמאל את הקשר R 3 R 6 Rב R3 -לקבלת . 3 R 6 0 R 3 Rנסמן
T
c1c23 s1c23 s 23
r11 r12 r13
R 3 R s1
c1
0 R r21 r22 r23
c s
r r
1 23 s1s 23 c23
31 32 r33
T
0
וקיבלנו את המשוואה:
c 4s 5
s 4s 5
c 5
c 4c5c6 s 4c6
s 4 c 5s 6 c 4s 6
s 5s 6
r13 c 4 c 5 c 6 s 4 s 6
r23 s 4 c 5 c 6 c 4 s 6
r33 s5 c 6
r11 r12
r21 r22
r
31 r32
נתמקד בשני זוגות האיברים ( )9,0(,)6,0ו )0,9(,)0,6(-ונקבל:
r r
r r
2
2
θ 4 atan 2 13 , 23 , θ 6 atan 2 31 , 32 , θ 5 atan 2 r33 , r13 r23
s5 s5
s5 s5
נשים לב שקיימים שני מקרים המסומנים בסימנים חיובי ושלילי באיבר האחרון ,עבור
s5 0ועבור s5 0בהתאמה .מצאנו אם כן שני פתרונות לערכי המפרקים ,Θ5לכל כיוון
זרוע ("ימין ושמאל") ולכל מצב מרפק .בסה"כ התקבלו 7פתרונות לערכי המפרקים ,Θ6 ,
. Θ1 ,Θ2 ,Θ3, Θ4 ,Θ5
הערה :המקרה האחרון בו s5 0הינו מקרה סינגולארי בו חוליות { }9ו { }5מתלכדות.
3
במקרה זה . θ 5 0, πאם נציב c 5 1ב R 6 -נקבל:
r13
r23
r33
cos(θ 4 θ 6 ) sin(θ 4 θ 6 ) 0 r11 r12
sin(θ 4 θ 6 ) cos(θ 4 θ 6 ) 0 r21 r22
0
0
1 r31 r32
ונקבל , θ 4 θ 6 atan 2r11, r21 כלומר במקרה הסינגולארי התקבלו אינסוף פתרונות עבור
. θ4 ,θ6
77
מבוא לרובוטיקה
78
ד"ר ניר שוולב
תרגיל :2.6פתור את בעיית הקינמטיקה
ההפוכה עבור הרובוט באיור.
פתרון :כזכור ,את הבעיה הישירה פתרנו
בפרק הקודם .אעפ"כ נפתור את
הקינמטיקה ההפוכה באופן גיאומטרי
ללא שימוש בתוצאות שקיבלנו .נסמן ב-
) (PX,PYאת נקודת התפסנית .עתה
נתמקד במשולש המודגש ונקבל את
הקשר L1 L 2 PX2 PY2 d 2
כאשר סימנו ב d-את הניצב הקצר .נחשב
את ערך הזווית ממול לניצב dעל פי atan 2 d , PX2 PY2 d 2 :הזווית βשבין
ציר Xשל מערכת { }3לתפסנית ) (PX,PYיחושב כ β atan 2 PY , PX ולבסוף נקבל:
2
atan 2 PY , PX - atan 2 d , PX2 PY2 d 2
2
θ1 β-
שימו לב שהתקבלו שתי פתרונות – מהם?
תרגיל :2.1מהו מרחב העבודה של הרובוט RPR
המרחבי הנתון באיור? ,מהו ה dexterity space-שלו?
x0
יש להביא את התפסנית למיקום y 0 ללא חשיבות
z
0
לאוריינטציה שלה .מהם ערכי הפרמטרים במפרקים
בכדי לאפשר זאת? כמה פתרונות לבעיה?
פתרון :מרחב העבודה של הרובוט הוא אוסף הנקודות אליהן יכולה התפסנית להגיע .עבור
הרובוט הנוכחי ,המפרק הראשון יסובב את המשך הזרוע L2ו L3והתפסנית סביב ציר ,Z
שימו לב שהתנועה תישמר תמיד בגובה .L1אורך הקטע המחבר בין התפסנית לבסיס הרובוט
הוא L21 L22כאשר פרמטר המפרק הפריזמטי L2משתנה כמובן בין שני ערכי קיצון .לכן
מרחב העבודה יהא טבעת מישורית בגובה .L1ה dexterity space-של הרובוט מוגדר להיות
אוסף הנקודות במרחב העבודה בהן חופשית התפסנית להסתובב .במקרה שלנו זהו מרחב
ד"ר ניר שוולב
מבוא לרובוטיקה
ריק ,לבד מהמקרה בו L3מתאפס ,או אז בקונפיגורציה בה גם L2יתאפס יהא ה dexterity
spaceנקודת המרכז במרחב העבודה.ברור שתנאי מקדים לקיום פתרון הוא ש . z 0 L1כעת ,אם נתמקד במשולש ישר הזווית
הנחסם על ידי L2ו ( L3ממבט על) נשכיל להבין כי
. L 2 x 02 y 02 L23חישוב הזווית
במפרק הסיבובי שבבסיס הרובוט יהא אם כן:
α atan 2 L 3 , L 2
β atan 2 y 0 , x 0
3π
2
θ1 β- α
זווית המפרק הסיבובי האחרון אינה רלוונטית כמובן לבעיה.
ולכן התקבלו שתי קבוצות הפתרון האינסופיות:
. θ1 , L 2 ,, θ1 ,- L 2 ,
תרגיל :2.2בשרטוט נתון הרובוט המרחבי ,RRPבעל 0דרגות-
חופש .פתור את בעיית הקינמטיקה ההפוכה שלו.
פתרון :מתוך הקינמטיקה הישירה שקיבלנו בתרגיל :63
c 1s 2 L 2 L 1 c 1
s 1s 2 L 2 L 1 s 1
c2L2 L0
1
c 1s 2
s 1s 2
s1
c1
c2
0
0
0
c1 c 2
s s
0
T3 1 2
s
2
0
העמודה האחרונה מייצגת את וקטור המיקום של התפסנית:
x 0 c 1s 2 L 2 L 1 c 1
y 0 s 1 s 2 L 2 L 1s 1
z c L L
0
0 2 2
79
מבוא לרובוטיקה
81
ומכאן
ד"ר ניר שוולב
x0
y0
; s1
L 2 s 2 L1
L 2 s 2 L1
c1
והמפרק הסיבובי הראשון יקיים
. θ1 atan 2s1 , c1 נשים לב שהביטוי L 2 s 2 L1יכול להיות שלילי או חיובי כתלות ב-
L2ולכן . θ1 atan 2 y 0 , x 0
המפרק סיבובי השני יקיים θ 2 atan 2s 2 , c 2 כאשר
x 0 L1 c1
z L0
; c2 0
L 2 c1
L2
בהנחה
ש
L2
יכול
להיות
חיובי
s2
או
שלילי,
הפתרון
יהא:
x -L
. θ 2 atan 2 0 1 , z 0 - L 0 נשווה את רכיבי ה Z-עבור המפרק הפריזמטי ונקבל:
c1
z0 L0
c2
. L 2 לסיכום ,קיבלנו שני פתרונות ל ; θ1עבור כל ערך של θ1התקבלו שני
פתרונות ל , θ 2ולכל זוג ערכים של θ1ו θ 2 -מצאנו ערך יחיד למפרק הפריזמטי .בסה"כ
התקבלו ,אם כן ,ארבעה פתרונות לבעיית הקינמטיקה ההפוכה.
תרגיל :2.6נתון הרובוט שבאיור הבא .יש להביא את יחידת
הקצה למיקום ( )PX ,PYנתון ,כך שיִ יטֵ ה בזווית αיחסית לציר
.Xמצא מהם פרמטרי המפרקים הדרושים לקיים דרישה זו.
כמה פתרונות לבעיה?
פתרון :מתרגיל 4.4ידוע כי הטרנספורמציה המייצגת את
0
0
1
2
הקינמטיקה הישירה היא : T3 T1 T2 T3
0 L 0 c1 L1 c1 L 2 s1 L 3 c12
0 L 0 s1 L1s1 L 2 c1 L 3s12
1
0
0
1
הדרישה היא:
- s12
c12
0
0
c12
s
0
T3 12
0
0
מבוא לרובוטיקה
0 px
0 py
1
0 1
ומהשוואת
ד"ר ניר שוולב
sα
cα
0
0
האיברים
0 L 0 c1 L1 c1 L 2 s1 L 3 c12 c α
0 L 0 s1 L1s1 L 2 c1 L 3s12 s α
0
1
0
0
0
1
()6,6
ו,)6,9(-
, θ1 θ 2 atan 2 s α , c α
. θ1 θ 2 α
כעת
ניתן
נקבל
- s12
c12
0
0
sα s12 ; cα c12
c12
s12
0
0
ומכאן
נקבל
כלומר
לפתור
את
זוג
המשוואות..
תרגיל :2.8נתון הרובוט המרחבי RRPשבאיור.
(א) צייר את מרחב העבודה של הרובוט והסבר.
(ב) קבע מערכות צירים על הרובוט( .ג) מצא
פרמטרי DHורשום בטבלה( .ד) מצא מטריצות טרנספורמציה ( 2 T3 ,1 T2 , 0 T1ה) מצא
את מיקום יחידת הקצה( .ו) חשב את הקינמטיקה ההפוכה .באם הדרישה היא על מיקום
התפסנית ,כמה פתרונות לבעיה?
פתרון(:א) המפרק הסיבובי q1מסתובב סביב ,z0
המפרק הסיבובי q2מסתובב סביב ,z1והמפרק
הפריזמטי נע לאורכו של .z2מרחב העבודה הינו
ספרה מעובת (מלשון עָּ בֶ ה) שמרכזה q2והיא
קטומה בתחתיתה .הקטימה נובעת מקיום
רצפה .מפרק q3משתנה לאורכו של z2ויוצר חלל
במרחב העבודה כמודגם באיור .רדיוס מרחב
העבודה
r L 2 2 L 3 2מקבל את ערכי
הקיצון שלו כאשר ערך המפרק הפריזמטי מקבל ערך מקסימאלי ומינימאלי.
81
ד"ר ניר שוולב
מבוא לרובוטיקה
Joints
Θi
αi
ai
di
1
Θ1
+90º
0
L1
2
Θ2
+90º
L2
0
3
0
0
0
L3
) תיתן את טרנספורמציות9.9( (ד) הצבה בנוסחה.Θ2 שימו לב כיצד נבחרה הזווית
:הקינמטיקה הישירה
c1 0 s 1
s 0 c1
0
T1 1
0 1 0
0 0 0
0
0
;
L1
1
c2
s
1
T2 2
0
0
c1 c 2
s c
0
T3 1 2
s
2
0
0
0 s2
0 c2
1
0
0
0
s1
- c1
c 1s 2
s 1s 2
0
0
c2
0
L2 c 2
L2 s 2
;
0
1
1
0
2
T3
0
0
0
0
;
1 1 L3
0 0 1
0 0
1 0
L 3 c 1s 2 c 1 c 2 L 2
L 3 s 1s 2 s 1 c 2 L 2
L 3 c 2 L 2 s 2 L1
1
0
T3 כמטריצת המינור הימנית העליונה ב, T3 האוריינטציה של יחידת הקצה נתונה ב
: 0 T3 והמיקום נתון בעמודה הרביעית של
c1 c 2
R s1c 2
s
2
s1
- c1
0
c 1s 2
s 1s 2 ;
c 2
L 3 c 1s 2 c 1 c 2 L 2
d L 3 s 1s 2 s 1 c 2 L 2
L c L s L
3 2
2 2
1
: הרצויd (ה) ידוע לנו וקטור המיקום
L 3 c 1s 2 c 1 c 2 L 2 p x
L 3 s 1s 2 s 1 c 2 L 2 p y
L1 L 3 c 2 L 2 s 2 p z
82
ד"ר ניר שוולב
מבוא לרובוטיקה
py
px
ומכאן
, s1
L 3s 2 c 2 L 2
L 3s 2 c 2 L 2
83
. c1 עבור המפרק הסיבובי הראשון נקבל
py
px
. 1 atan 2 מכיוון
,
L 3s 2 c 2 L 2 L 3s 2 c 2 L 2
שהביטוי d 3s 2 c 2 L 2יכול להיות שלילי או חיובי
כתלות ב L3 -נוכל לרשום . θ1 atan 2 p y , p x
כדי למצוא את ערך המפרק הפריזמטי L3נתמקד
במשולש ישר הזוית BCPשיוצרות הצלעות L2ו L3
ואז . L 3 p x 2 p y 2 p z L1 2 L 2 2נתמקד כעת במשולש ישר הזווית ,ABPהזווית
APBנקבעת על פי אורך היתר שלו
p x p y p z L1
2
2
2
ושיעורי הבסיס AP
. p x 2 p y 2כיוון שנמנע מאיתנו השימוש בפונקציה ( atanשתי המשוואות הראשונות אינן
יכולות לספק את שיעורי ה sinוה cosשל הזווית) יש לתת יתר תשומת לב לעניין ריבוי
פתרונות,
ובמקרה
זה
ברור
שקיימים
שני
2
2
px py
( APB acos עבור
p x 2 p y 2 p z L1 2
2
פתרונות
θ 2 ו-
2
.) θ 2
PBC atan 2L 3 , L 2 נקבעת באופן יחיד ,מכאן . 2 PBC APB
לסיכום ,התקבלו 9פתרונות אפשריים לבעיית הקינמטיקה הישירה:
L 3 2
1
L 3 2
L 3 2
1
L3 2
קבילים
ל
הזווית
מבוא לרובוטיקה
84
תרגיל
:2.7
L1 L 2 s1
0
L1 L 2 c1
1
ד"ר ניר שוולב
הקינמטיקה
נתונה
s1
0
c1 c 2
c2
c1
0
s 1s 2
0
של
הישירה
רובוט
בעל
9
דרגות
חופש:
c1 c 2
s
0 T2 1מצא את זוויות המפרקים כך שווקטור
s c
1 2
0
2
שרירותי Vבמערכת התפסנית יצביע מעלה .כמה פתרונות לבעיה ?
0
0
0
2
פתרון :דרוש לקיים את השוויון ( T2 V בחרנו כאן את האיבר האחרון בווקטור
1
0
2
ההומוגני להיות אפס כיוון שאנו מתעניינים באוריינטציה של Vבלבד) כאשר
2
vy
s2
ולכן:
2 V v x , v y , v zהוא וקטור יחידה .נפשט ונקבל את הקשר
2
c2
vx
atan 2 2 v y , 2 v x
θ2
2
2
atan 2 v y , v x
c 2 2 v x s 2 2 v y s1 0
בנוסף לדרישה נוכל לקבל גם
2
c 1
vz
1
2
vz
. 2נפתור את
2
s2 vy c2 vx
s2 2 v y c2 2 vx
vz
s1
;
c1 כאשר
2
מערכת המשוואות בשיטת קרמר ונקבל:
c2 2 vx s2 2 v y
:
2
vz
2
vz
det 2
s v c 2 v
2
x
2 y
וסה"כ
1 a tan 2 s 2 2 v y c 2 2 v x , 2 v z
לכל זווית 2מתאימה זווית 1יחידה .ולכן ישנם 9פתרונות לבעיה .שימו לב שלא ניתן היה
לחלץ את הזווית 1ישירות .כאשר
קונפיגורציה סינגולארית.
תרגילים נוספים
2 V 0,0, 2 v zלא ניתן לקבוע 1וזוהי למעשה
ד"ר ניר שוולב
מבוא לרובוטיקה
5.6עבור הרובוט RRהמישורי שבאיור ,נתון כי זוויות המפרקים מוגבלות לתנועה:
0 1 וכן / 2 2 כתוב תוכנית MatLabשמחשבת את מרחב העבודה.
תשובה:
5.63פתור את הקינמטיקה ההפוכה עבור הרובוט שהוצג בשאלה 9.69כאשר הדרישה היא על
0
מיקום יחידת הקצה והאוריינטציה R 3שלו .כמה פתרונות לבעיה?
y x
תשובה. 1 a tan 2 , , r x 2 y 2 :
z z
5.66עבור הרובוט המישורי RRRשבאיור פתור את
הקינמטיקה ההפוכה .כמה פיתרונות לבעיה?
תשובה:
x 2 y 2 L1 2 L 2 2
2 cos 1
2
L
L
1 2
,
y x
, 1 a tan 2 , a tan 2L1 L 2 c 2 , L 2 s 2
r r
כאשר
2
r L1 L 2 c 2 L 2 s 2
2
3 a tan 2r21, r11
r13
r23
r33
ו-
כאשר
r11 r12
R 3 r21 r22
r
31 r32
1 0
0
. R 2לבעיה 9פתרונות.
5.69פתור את בעיית הקינמטיקה ההפוכה של הרובוט המרחבי RPRשבאיור (שעסקנו בו
0
בשאלה )9.9עבור מיקום ואוריינטציה . R 3כמה פתרונות לבעיה?
85
86
ד"ר ניר שוולב
מבוא לרובוטיקה
y
x
2
a
,
n
L 2 L3 L 2 L3
תשובהL 2 x 2 y 2 L 3 :
,
r13
3 a tan 2r21 , r11 כאשר r23
r33
r11 r12
R 3 r21 r22
r
31 r32
1 0
R2
0
, 1 a t
לבעיה שני פתרונות.
5.60פתור את בעיית הקינמטיקה ההפוכה לרובוט 3Rהמרחבי
הבא .כמה פתרונות לבעיה ההפוכה ,אם ידוע שהקינמטיקה
הישירה היא:
L 0 s1 L1c1 c 2 L 2 c1 c 23
L 0 c1 L1c1s1 L 2 c1 c 23
L1s1 L 2 s 23
1
c1s 23
s1 s 23
s1
c1
c 23
0
1
0
c1c 23
s c
0
T3 1 23
s
23
0
x 2 y 2 z 2 L 0 2 L1 2 L 2 2
תשובה :
2 2 tan 1 t , 3 cos 1
2
L
L
1 2
2
כאשר . t s 3 z t 2L1 2L 2 c 3 z s 3 0
y x
1 a tan 2 , a tan 2L1c2 L3c23 , L0 כאשר
r r
L1c 2 L 2 c 23 2 L 0 2
רמז :השתמשו בקשר הטריגונומטרי ל tan -חצי זווית.11
5.69פתור את הקינמטיקה ההפוכה עבור
הרובוט שהוצג בשאלה .9.69כמה פתרונות
לבעיה?
תשובה :לבעיה 9פתרונות.
5.65הקינמטיקה הישירה לרובוט המרחבי
PPRRRשבאיור נתונה להלן .פתור את
בעיית הקינמטיקה ההפוכה .כמה פתרונות
1 t2
2t
במקום , sin ו-
11כלומר הצבת
2
2
1 t
1 t
במקום , cos כאשר
t tan
2
.
r
87
ד"ר ניר שוולב
מבוא לרובוטיקה
?לבעיה
c 4 c5c 6 s 4s 6
s c c c s
3
T6 4 5 6 4 6
s5c6
0
, 1 a t
y x
2 ,
L3 L3
c 4c5 s 6 s 4c6
s 4 c5 s6 c4c6
c 4s 6
s 4s 6
s 5s 6
0
c5
0
a
*
*
*
1
c1
s
0
T3 1
0
0
, Ln3 x 2 y 2
0 s1
0 c1
1
0
0
0
L 3 s1
L 3 c1
L0
1
:תשובה
r r
1
. פתרונות9 לבעיה, 4 a tan 2 13 , 23 , 5 cos r33
s5 s5
88
ד"ר ניר שוולב
מבוא לרובוטיקה
.9אנליזה ליניארית
מן הסתם ,ישנן פעולות שעדיפה עבורן תנועה
איטית של התפסנית (לדוגמא ,הגעה לקרבת
אובייקט במרחב העבודה) וכאלו שעדיפה בהן
דווקא תנועה מהירה (לדוגמא ,שינוע חלק
לנקודה אחרת) .אנו מעוניינים לבצע ,אם כן,
מסלול ְתלוי זמן של התפסנית .וכך אחת
ממטרותינו בפרק זה תהיה לקבוע את מהירות
התפסנית בכל נקודה במסלול .לאמור ,נרצה
לשלוט במהירות המפרקים ,בכדי לקבל
מהירויות רצויות בתפסנית .המעבר הזה ,בין
המהירויות במפרקים למהירות התפסנית
יתאפשר באמצעות מטריצת היעקוביאן )( (Jacobian Matrixמטרתנו השנייה היא לדון
בסינגולאריות קינמטית של רובוט טורי .זו האחרונה תתרחש בעת שמטריצת היעקוביאן
תהיה סינגולארית ,אך בזאת נעסוק רק בפרק הבא).
עד כה עסקנו בקביעת טרנספורמציות הקינמטיקה הישירה וההפוכה .כאשר ההפוכה,כאמור,
מאפשרת לנו לעקוב בעזרת התפסנית אחרי מסלול רצוי .כעת נרצה לקבוע גם את קצב
התקדמות התפסנית לאורך המסלול .בהינתן מיקום ואוריינטציה תלויי זמן רצויים של
יחידת הקצה , R t , dt נוכל לגזור את השניים לפי הזמן ולקבל את המהירות הקווית
והמהירות הזוויתית Ωt , vt של התפסנית .מהמטריצה Ωt נסיק בהמשך מהי
המהירות הזוויתית ω x , ω y , ω z ולבטאה כווקטור .מטרתנו נכון לעכשיו היא לבנות את
T
מטריצת היעקוביאן Jהמקיימת:
כאשר d=6למקרה המרחבי ,ו d=3 -למקרה המישורי.
הערה :למעשה מטרתנו היא ביצוע ליניאריזציה על הקינמטיקה הישירה .פעולה כזו נעשית
באמצעות גזירת משוואות האילוץ של הרובוט לפי הזמן .נזכור שמשוואת האילוץ היא
, QOUT FQin כאשר
QOUT q1 , q 2 ,..., q n מסמן את קואורדינאטות התפסנית
T
המוכללות (סיבוביות או פריזמטיות( "ביציאה" ו QIN 1 , 2 ,..., m -את וקטור
T
ד"ר ניר שוולב
מבוא לרובוטיקה
הקואורדינאטות המוכללת (סיבוביות או פריזמטיות( "בכניסה" .כלומר זוהי מערכת
משוואות
מהצורה . qi Fi 1 , 2 ,..., m
לפי
גזירה
הזמן
תניב
את
השוויון:
F Q IN
JQ
Qכאשר Jהיא מטריצת היעקוביאן .הביטוי המפורש שנקבל
OUT
IN
Q IN t
יהיה אם כן:
F1
1
m t
2
t
Fn m
m t
)(6.2
F1
2
dq1
F
dt 1
dq 2 1
dt F2
1
Fn
dq
n 1
dt
ערכי האלמנטים במטריצה אינם קבועים ומשתנים מקונפיגורציה לקונפיגורציה.
דוגמא :עבור המכאניזם המישורי 1Rשבאיור ,הקינמטיקה הישירה
נתונה ע"י צמד המשוואות . x Lc θ ; y Ls θנגזור אותן ונקבל
. v x Ls θ θ ; v y Lc θ θכאשר θהיא המהירות הזוויתית במפרק
כמו גם המהירות הזוויתית של יחידת הקצה .אם נרשום את שלשת
המשוואות בצורה מטריצית נקבל:
v x Lc θ
v y Ls θ θכאשר וקטור "הכניסה"
ω 1
z
q 1
θהוא וקטור המהירויות הליניאריות והסיבוביות במפרקים ,ווקטור "היציאה"
q
n
vx
v
v y
ω ω
z
יהא וקטור המהירויות הליניאריות והסיבוביות של התפסנית .התבוננו
Lc θ
במטריצת היעקוביאן J Ls θ שבדוגמא ,היא תלויה בזווית ! θוכך תמיד יהיה ,ערכי
1
האיברים במטריצת היעקוביאן תלויים בקונפיגורציה !
דוגמא נוספת :כאמור ,הקינמטיקה הישירה של הרובוט המישורי RRנתונה ב:
89
91
ד"ר ניר שוולב
מבוא לרובוטיקה
x L1c1 L 2 c12
y L1s1 L 2 s12
θ θ1 θ 2
לשם פשטות נתעניין במיקום יחידת הקצה בלבד ונגזור את מערכת המשוואות בכדי לקבל
את הביטוי ליעקוביאן:
dx x 1 x 2
- L1s1 L 2 s12 1 L 2 s12 2
dt 1 t 2 t
dy y 1 y 2
L1c1 L 2 c12 1 L 2 c12 2
dt 1 t 2 t
L 2 s12 1
אם ננסח את מערכת המשוואות באופן מטריצי נקבל
L 2 c12 2
- L s L 2 s12
v 1 1
L1c1 L 2 c12
באופן זה נוכל לחשב את היעקוביאן ,אך כיוון שבד"כ הגזירה מייגעת ואיננה יעילה נתמקד
בהמשך הפרק במציאת דרך יותר מובנית למציאת היעקוביאן.12
נתון מיקום קבוע x 0במערכת התפסנית (כלומר זהו וקטור
הרשום במערכת התפסנית וצמוד אליה) .במערכת העולם
נוכל לכתוב yt R t x 0 dt למיקום אותה הנקודה.
) R(tהיא מטריצת הסיבוב התלויה בזמן ו d(t)-מיקום
התפסנית שגם הוא תלוי בזמן .אם נגזור את yt נקבל את
שוויון המהירויות t x d t
. y t R
0
את ) R(tניתן
לגזור ,איבר איבר .עם זאת ,נוכיח כעת משפט שיעזור לנו
בהמשך לנסח ביטוי יותר פשוט ל , R t -ובסופו של דבר ,יאפשר לבטא את y t באופן יותר
אלגנטי.
טענה :עבור כל טרנספורמציה ( yt R t x 0 dt כאשר ) R(tמטריצת סיבוב ,וx 0 -
הוא וקטור הרשום במערכת התפסנית ,צמוד אליה וקבוע בה) קיים וקטור ωהמייצג את
מהירות הסיבוב של , R t ומתקיים השוויון:
)(6.3
t x
R
ω yt - dt
12כיוון שלרובוט שטיפלנו בו יש רק מפרקים סיבוביים גזרנו לפי זוויות המפרקים .עבור רובוט כללי ,יופיעו
ביעקוביאן גזירות גם לפי הפרמטרים של המפרקים הפריזמטיים שלו.
91
ד"ר ניר שוולב
מבוא לרובוטיקה
s 32
. S u s13 u מקיימתS 33 ראשית נשים לב שכל מטריצה אנטי סימטרית:הוכחה
s
21
בכדי להיווכח בזה נשים לב שכל מטריצה אנטי סימטרית נראית בהכרח כך
s32
ונסמן, s13 לשם נוחות נסמן את.ונחשב את שני צדי השוויון
s
21
0
- s12
- s
13
s13
s 23
0
s12
0
- s 23
. S S
נגזור את המשוואה. R R T I ולכןR T R -1 - ידוע שR נזכור שעבור כל מטריצת סיבוב
לרשום
נוכל
ABT BT A T - כיוון ש. RR T RR T 0
R T -ש
היא מטריצהR
RT - R
RT
ונוכל להסיקR
T
ונקבל
T RT
- R
T
הזמן
לפי
RT
- R
T
. R אנטי סימטרית עבור כל מטריצה
: ונרשוםSω R R T -לאור האמור נוכל להסיק ש
R t x R t I x R t R T t R t x Sω R t x ω yt - dt
I
. yt R t x 0 dt לקבלת השוויון האחרון השתמשנו בקשר
yt R t x 0
כלומרZ נתמקד בטרנספורמציית סיבוב סביב ציר
:דוגמא
cosφt - sin φt 0 x xcos φt ysinφt
נחשב. R t x sin φt cosφt 0 y xsin φt ycosφt ומפורשות
0
0
1 z
z
0
היא אמנםω 0 φ
1
0 -1 0
T
T
נוכל להיווכח כיSω R R ע"פR t R t 1 0 0 φ
0 0 0
92
ד"ר ניר שוולב
מבוא לרובוטיקה
- sinφ - cosφ 0 x
- xsinφ ycosφ
כעת R t x φ cosφ - sinφ 0 y φ xcos φ ysinφ
0
0
0 z
z
סיבוב סביב ציר .Z
ˆi
ˆj
kˆ
- xsinφ ycosφ
ω yt כצפוי,
0
0
ומצד שני φ φ xcos φ ysinφ
xcosφ ysinφ xsinφ ycosφ z
0
התקבל שוויון.
כעת ,משברשותנו האפשרות לבטא את השפעת המהירות הזוויתית על מהירות יחידת הקצה,
נפנה לכתיבה מפורשת של היעקוביאן .כל מפרק ברובוט תורם תנועה סיבובית או ליניארית
ליחידת הקצה .מתמטית נוכל להיווכח בכך אם נרשום את משוואה ( )9.6כ-
q
J L n 1
J A n
q n
J L2
J A2
v J L1
כאשר
ω J A2
i
J L , J Aמייצגים את היעקוביאן המתאימים
i
בהתאמה.
נוכל
גם
למהירות הסיבובית ולמהירות הליניארית
J
J
v J L1
q 1 L2 q 2 Ln q n
ונקל להבין שכל פרמטר מפרק
JA
JA
ω J A2
2
n
לרשום
q iתורם
למהירות הליניארית והסיבובית של התפסנית .ברור שתרומת מפרק סיבובי תהא שונה
באופייה מזו של מפרק פריזמטי .נפרוט ,אם כן ,את התרומה למהירות יחידת הקצה כפי
שנתרם ממפרק פריזמטי או מפרק ליניארי.
סימון :וקטור יחידה בכיוון הציר של המפרק ה i-כמתואר באיור הבא יסומן ב . bˆ i-1וקטור
כזה נתאר במערכת עולם .הוקטור ,מראשית מערכת ה )i-6( -לראשית התפסנית כמודגם
באיור הבא ,יסומן ב . ri-1וקטור כזה נתאר במערכת עולם.
הווקטורים הרלוונטים לחישוב היעקוביאן עבור מפרק סיבובי וליניארי
ד"ר ניר שוולב
מבוא לרובוטיקה
יקל עלינו להבין כיצד יראה הביטוי לתרומת המהירות הקווית ,אם נרשום רק את השוויון
v J L1 q 1 J L2 q 2 J Ln q nלמהירות הקווית של התפסנית.
נניח ללא הגבלת הכלליות שהמפרק } {iפריזמטי .במקרה זה התוספת למהירות הקווית של
התפסנית vתהיה פשוט מהירות המפרק ( d iאם נקבעַ את כל שאר המפרקים ,תהיה
מהירות התפסנית בדיוק מהירות המפרק) ,כלומר . J Li q i bˆ i-1 d iומכאן . J L i bˆ i -1נניח
כעת שהמפרק } {jסיבובי .במקרה זה התוספת למהירות הקווית של התפסנית vתתקבל
מהנוסחה ( ,)9.0כלומר :אם מהירות הסיבוב של המפרק נתונה כ q j ω j φ -אזי
J L q j ω j rj-1 φ bˆ j-1 rj-1כלומר . J L bˆ j-1 rj-1
j
j
באותו אופן נרשום רק את הביטוי לתרומת המהירות הזוויתית ω J L1 q 1 J An q nשל
התפסנית.
נניח שוב שהמפרק } {iפריזמטי .במקרה זה אין תוספת למהירות הזוויתית של התפסנית ω
ולכן ( J Ai 0להמחשה ,דמיין קובייה המונחת על שולחן ,האם הזזת השולחן תגרום
לסיבוב הקובייה?) .ושוב נניח שהמפרק } {jסיבובי .במקרה זה התוספת למהירות הקווית של
התפסנית תהא ( J A q j w j φ bˆ j-1להמחשה ,מהי מהירות הסיבוב של קרוסלה אשר
j
בעצמה מקובעת לקרוסלה?) כלומר . J A bˆ j-1לסיכום ,עמודה במטריצת היעקוביאן תהיה:
J Li bˆ i-1
J L j bˆ j-1 rj1
)(6.4
JA 0
J A bˆ j-1
i
j
j
עבור המקרה הפריזמטי
עבור המקרה הסיבובי
לדוגמא :עבור רובוט מישורי ,בעל מפרקים סיבוביים ,כל -biים הם בכיוון ,Zולכן המהירות
הזוויתית של התפסנית ωהיא סכום המהירויות הזוויתיות θ 1 ,, θ nשל כל
המפרקים. ω J L1 q 1 J A n q n 1θ 1 1θ 2 1θ n .
לאור ( )9.9ברור שהאתגר העיקרי בכתיבת היעקוביאן הוא בחישוב הווקטורים . bˆ j-1, rj1
בכדי להקל על הבחירה שלהם נוכל להיעזר במבנה המטריצה המייצגת את הקינמטיקה
הישירה.
93
94
ד"ר ניר שוולב
מבוא לרובוטיקה
הביטו במשוואות ( )9.6ו .)9.6(-כזכור ,העמודה הרביעית (תסומן כ )0Pi -במטריצה Ti
0
מסמנת את המיקום של המערכת ,iיחסית לעולם .ולכן .ri = 0Pn-oPnעוד נזכור שהעמודה
השלישית מסמנת את כיוון ציר Ziבמערכת העולם ,כלומר זהו הוקטור .bi
px
py
pz
1
)(6.5
ax
ay
az
0 0
0
Ti
0
וכאמור:
)(6.6
כאשר:
ri 0 p n - 0 p i
)(6.7
וניקח תמיד:
0
0
0
P0 0 ; b 0 0
0
1
)(6.8
צירוף נוסחאות ( )9.1( )9.3(,)9.9(,)9.5(,)9.9מאפשר חישוב מלא של מטריצת היעקוביאן מתוך
ידיעת הקינמטיקה הישירה.
תרגיל :6.4מצא את היעקוביאן של הרובוט RRהמישורי המודגם
באיור שלעיל .רשום את המשוואה הקושרת בין
המפרקים למהירויות התפסנית.
מהירות
תשובה :הביטו באיור ,1להצבת מערכות הקואורדינאטות,
טרנספורמציות הקינמטיקה הישירה הן:
0 L 2c 2
0 L 2s 2
1
0
0
1
- s2
c2
0
0
0 L1c1
c2
0 L1s1 1
s2
;
T
2
0
1 0
0
0 1
c1 - s1
s c1
0
T1 1
0 0
0 0
ד"ר ניר שוולב
95
מבוא לרובוטיקה
c12 - s12
c12
s
1
0
0
T2 T1 T2 12
0
0
0
0
0 L1c1 L 2 c 2
0 L1s1 L 2s 2
1
0
0
1
0
0
0
L1c1
0
. P0 0 ; b 0 0 -) יודעים ש9.3( - ּומb1 0 - וp1 L1s1 נקבל0 T1 -ולכן מ
1
0
1
0
0
:) יודעים ש9.9( מנוסחה
L1c1 L 2c 2
r0 P2 P0 L1s1 L 2s 2 ;
0
0
0
L 2 c12
r1 P2 P1 L 2s12
0
0
0
;)9.0( נפנה עתה לנוסחה.עד כה חישבנו את כל הוקטורים הנחוצים לנו לבניית היעקוביאן
J L j bˆ j-1 rj1
: מפרקים סיבוביים אנו יודעים כי9 כיוון שהרובוט שלפנינו בנוי
עבור
J A bˆ j-1
j
: נחשב אם כך. j=1,2
ˆi
ˆj
kˆ - L1s1 L 2s12
b 0 r0
0
0
1 L1c1 L 2 c12
L c L c
L1s1 L 2s12 0
0
1 1 2 12
ˆj
ˆi
kˆ L 2s12
b1 r1 0
0
1 L 2 c12
Lc
L 2s12 0 0
1 12
bˆ j-1 rj1
היעקוביאן שקיבלנו יהא בנוי משתי עמודות במבנה
:) (עמודה לכל מפרק
bˆ
j-1
- L1s1 L 2s12
L1c1 L 2 c12
0
J
0
0
1
L 2s12
L 2 c12
0
0
0
1 62
מבוא לרובוטיקה
96
ד"ר ניר שוולב
כאמור ,היעקוביאן מקשר בין מהירות התפסנית למהירות המפרקים.
- L1s1 L 2s12
L1c1 L 2 c12
0
v
0
ω
0
1
L 2s12
L 2 c12
0 1
0 2
0
1
כיוון שאנו מתעניינים רק במהירויות במישור התפסנית (הרובוט מישורי) ,נוכל להסתפק
L 2s12
בשתי השורות הראשונותL 2 c12 1 :
1 2
- L1s1 L 2s12
v
. L1c1 L 2 c12התוצאה זהה לזו
ω
1
שחישבנו בדוגמא שבתחילת הפרק.
תרגיל :6.5בשרטוט הבא נתון הרובוט המרחבי ,RRPשנדון
בתרגילים .5.5 ,9.5מצא את היעקוביאן של הרובוט .רשום את
המשוואה הקושרת בין מהירות המפרקים למהירויות התפסנית.
פתרון :מתוך הקינמטיקה הישירה שקיבלנו בתרגיל 5.9נרשום:
L1c1
L1s1
L0
1
- c1s 2
s1
- s1s 2
c1
- c2
0
0
0
c1c 2
s c
0
T2 1 2
-s
2
0
L1c1
L1s1
;
L0
1
c 1s 2 L 2 L 1 c 1
s 1s 2 L 2 L 1s 1
c2L2 L0
1
s1
0 c1
0
0
c 1s 2
s 1s 2
s1
c1
c2
0
0
0
לכן ,מנוסחאות ( )9.3(,)9.9(,)9.5(,)9.9נקבל:
0
1
0
c1
s
0
T1 1
0
0
c1 c 2
s s
0
T3 1 2
s
2
0
97
ד"ר ניר שוולב
0
מבוא לרובוטיקה
0
b0 0
1
0
0
P0 0
0
,
,
0
s1
b 1 - c1
0
,
0
L1 c1
0
P1 0 P2 L1 s1
L
0
c 1s 2
b 2 s 1s 1
- c
2
,
c 1s 2 L 2 L 1 c 1
0
P3 s1s 2 L 2 L1s1
c L L
0
2 2
:וכן
c 1s 2 L 2 L 1 c 1
r0 p 3 p 0 s1s 2 L 2 L1s1 ;
c L L
0
2 2
0
0
c1s 2 L 2
r1 r2 p 3 p1 s1s 2 L 2
c L
2 2
0
0
מפרקים סיבוביים ולאחריהם מפרק9 כיוון שהרובוט שלפנינו בנוי.)9.0( נפנה עתה לנוסחה
J L j bˆ j-1 rj1
,פריזמטי
עבור שתי העמודות הראשונות והעמודה השלישית תהא
J A bˆ j-1
j
J Li bˆ i-1
: לכן נחשב.
JA
i 0
- L 2 s1s 2 L1 s1
b0 r0 L 2 c1c 2 L1c1
0
L 2 c1c 2
; b1 r1
L 2 s1s 2
L s 2s L c 2s
2 1 2
2 1 2
:בסה"כ קיבלנו
- L 2 s 1s 2 L 1s 1
L 2 c1 c 2 L 1 c1
0
J
0
0
1
L 2 c1 c 2
L 2 s 1s 2
L 2s 2
s1
- c1
0
c 1s 2
s 1s 2
- c2
0
0
0 36
:הקשר בין המהירויות במפרקים למהירויות התפסנית נתון אם כן במשוואה
מבוא לרובוטיקה
98
ד"ר ניר שוולב
c 1s 2
s 1s 2
θ1
- c 2
θ 2
0
L3
0
0
- L 2 s 1s 2 L 1s 1
L 2 c1 c 2 L 1 c1
0
v
0
ω
0
1
L 2 c1 c 2
L 2 s 1s 2
2
2
L 2 s 1 s 2 L 2 c1 s 2
s1
- c1
0
תרגיל :6.6בשרטוט הבא נתון הרובוט המרחבי .RRPמצא את
היעקוביאן של הרובוט .מהו הקשר בין המהירויות במפרקים
למהירותה הקווית של התפסנית?
תשובה :בתרגיל מרשימת התרגילים הנוספים בפרק 9רשמנו
את הטרנספורמציות : 0 T1 , 0 T2 , 0 T3
0
0
;
L1
1
c 1s 2
s 1s 2
- c2
0
0
c1 c 2 s 1
0 0
s 1s 2 - c 1
;
T
2
s
L1
0
2
1
0
0
s 1 c 1s 2
L 2 c 1s 2
- c 1 s 1s 2
L 2 s 1s 2
L1 L 2 c 2
1
0
0
- c2
0
0 s1
0 - c1
1 0
0 0
c1
s
0
T1 1
0
0
c1 c 2
s c
0
T3 1 2
s
2
0
מנוסחאות ( )9.3(,)9.9(,)9.5(,)9.9נקבל באותו האופן:
c 1s 2 L 2
r1 r2 p 3 p1 s1s 2 L 2
c L
2 2
0
c 1s 2
b 3 s 1s 2
c
2
0
c 1s 2 L 2
; r0 p 3 p 0 s1s 2 L 2
L c L
1 2 2
0
c 1s 2
; b 2 s1 s 2
c
2
0
0
;
s1
b 1 - c1
0
0
;
0
0
b0 0
1
0
שימו לב שנרמָּ לְ נו את הווקטור 0 b 0כך שיהא בגודל יחידה .כמו בשאלה הקודמת ,לפנינו
רובוט בעל 9מפרקים סיבוביים ולאחריהן מפרק פריזמטי .לכן עבור המפרק הסיבובי
ד"ר ניר שוולב
מבוא לרובוטיקה
bˆ 1 r1 bˆ 0 r0
הראשון ,העמודה הראשונה והשנייה ביעקוביאן תהיינה
,
בהתאמה,
ˆˆ b
b
0
1
L 2 c1 c 2
- L 2 s 1s 2
bˆ
והשלישית . 2 נחשב ונקבל b 0 r0 L 2 c1s 2 :וכן . b1 r1 L 2 s1c 2 הביטוי
0
L s
0
2 2
ליעקוביאן יהיה:
c 1s 2
s 1s 2
- c2
0
0
0
L 2 c1 c 2
L 2 s1c 2
L 2s 2
s1
c1
0
- L 2 s 1s 2
L 2 c 1s 2
0
J
0
0
1
שלשת השורות התחתונות ביעקוביאן מתארות את הקשר בין המהירויות במפרקים למהירות
הזוויתית של התפסנית ,בעוד ששלשת השורות הראשונות ב J-מתארות את הקשר בין
המהירויות במפרקים למהירותה הקווית של התפסנית:
c1 s 2 θ 1
s1 s 2 θ 2
- c 2 L 2
L 2 c1 c 2
L 2 s1c 2
L 2s 2
- L 2 s 1s 2
v L 2 c 1s 2
0
תרגיל :6.1בשרטוט הבא נתון הרובוט
המרחבי (.RPPא) מהו מרחב העבודה של
הרובוט ,מהו ה( ? dexterity space-ב)
מקמו מערכות צירים( .ג) מלאו טבלת
ְ
פרמטרי
.DH
(ד)
מצאו
ביטויים
לקינמטיקה הישירה( .ה) מצאו את
הקינמטיקה ההפוכה עבור הדרישה
למיקום התפסנית והאוריינטציה שלה יחסית לציר Zבלבד( .ו) חשבו את מטריצת
היעקוביאן.
99
111
ד"ר ניר שוולב
מבוא לרובוטיקה
תשובה( :א) מרחב העבודה הינו טבעת מישורית בגובה L1עם רדיוס
2
, L 2 L 3כאשר
2
L 2 , L 3נעים בין ערכיהם המקסימאליים והמינימאליים .ה dexterity space-יהיה ריק אלא
אם כן ערכי המפרקים הפריזמטיים L 2 , L 3יכולים להתאפס ,או אז יהיה הdexterity-space-
הנקודה המרכזית מעל הבסיס( .ב,ג) הקינמטיקה הישירה נתונה כ:
Θi
αi
ai
di
1
Θ1
-90º
0
L1
2
-90º
90º
0
L2
3
0
0
0
L3
(ד) מהצבה בנוסחה ( )9.9נקבל:
0
0
0 1 L3
0 0 1
0 0
1 0
s1 L 2
c1L 2
ומכאן:
L1
1
(ה)
1
0
2
T3
0
0
c1
s1
0
0
0
0
;
L2
1
0 -1
0 0
0
0
1
0
0
-1
1
T2
0
0
0
0
;
L1
1
L3 c1 s1L 2
0 s1
s1L 3 c1L 2 0
0 c1
;
T
2
1 0
L1
0 0
1
0 s1
0 - c1
0
0
c1
s1
0
0
1
0
c1
s
0
T1 1
0
0
0 s1
0 c1
0
T3
1 0
0 0
T
בהינתן המיקום p x , p y , p z והאוריינטציה φביחס לציר Zהרצויים נוכל
לרשום את מערכת המשוואות:
p x L 3 c1 s 1 L 2
p y s 1 L 3 c1 L 2
p z L1
φ θ1
ד"ר ניר שוולב
מבוא לרובוטיקה
אם נעלה את שתי המשוואות הראשונות בריבוע ונחבר נקבל p x p y L 3 L 2 :אם
2
2
2
2
הפרמטרים הפריזמטיים יכולים לקבל ערכים שליליים ,כלומר ישנן אינסוף אפשרויות
לפתרון.
(ו) מנוסחאות ( )9.1( )9.3(,)9.9(,)9.5(,)9.9נקבל באותו האופן:
c1
0
s1
0
0
; b 0 0 ; b 1 c1 ; b 2 s 1
0
1
0
c1 L 3 s1 L 2
0
0
r0 p 3 p 0 s1 L 3 c1 L 2
L1
0
bˆ 0 r0
עבור המפרק הסיבובי הראשון ,העמודה הראשונה ביעקוביאן תהיה
, השנייה
ˆ
b
0
bˆ 2
והשלישית תהיינה
0
bˆ 1
0
.
נחשב ונקבל:
L 3 s1 L 2 c1
. b0 r0 - L 3 c1 - L 2 s1 הביטוי
0
ליעקוביאן יהיה:
c1
s1
0
0
0
0
s1
c1
0
0
0
0
L 3 s1 L 2 c1
- L 3 c1 - L 2 s1
0
J
0
0
1
כיוון שהתנועה מישורית למעשה (שימו לב שהשורה השלישית ב J-מתאפסת) ,נוכל לרשום
בקיצור:
c1 θ 1
s1 L 2
0 L 3
s1
c1
0
L 3 s1 L 2 c1
v
- L 3 c1 - L 2 s1
ω
1
111
מבוא לרובוטיקה
112
ד"ר ניר שוולב
הערה :נשים לב שבמספר לא מבוטל של מקרים היעקוביאן Jאינה מטריצה ריבועית ולכן
אינה הפיכה .לכן ,הקשר
J -1 Xאינו מתקיים בהרבה מקרים .במילים אחרות ,אם
OUT X IN
לדוגמא לרובוט מרחבי מספר מפרקים הקטן מ ,9-במקרים רבים לא קיים אוסף של
מהירויות במפרקים שייתנו בדיוק את המהירות הרצויה ביחידת הקצה.
אם נתעניין רק בחלק מהפרמטרים המייצגים את המהירות ,נוכל לאלץ את המטריצה להיות
ריבועית ,כפי שאמנם נהגנו במספר מקרים בפרק .אולם ,אם אנו מעוניינים בכל הפרמטרים
המייצגים את המהירות (מהירות ליניארית וסיבובית לכל הכיוונים ,ובמהירויות כל
המפרקים כולם) ,נאלץ לעשות משהו אחר.
למעשה נרצה לבחור את הפתרון המתאים
ביותר .לשם כך משתמשים במטריצת הפסאודו אינברס ()Moore-Penrose pseudo inverse
Jהריבועית ,המחשבת את הפתרון המיטבי עבור מערכת משוואות ליניאריות
. Xכלומר זוהי הכללה של המטריצה ההופכית למקרה שזו אינה קיימת.
OUT JX IN
המטריצה מוגדרת ויחידה לכל :J
)(6.9
-1
J lim J T J I J T
0
אם ידוע שהעמודות של Jבלתי תלויות ליניארית ,מתקבל הביטוי:
)(6.10
-1
J JTJ JT
אם ידוע שהשורות של Jבלתי תלויות ליניארית ,מתקבל הביטוי (זהו המקרה השכיח ביותר
ברובוטיקה):
)(6.11
-1
J J T JJ T
במקרה שגם השורות וגם העמודות בלתי תלויות ליניארית ,מתקיים כמובן השוויון:
)(6.12
J J -1
תרגילים נוספים
6.6חשב את היעקוביאן עבור הרובוט RRRהמרחבי
שבאיור .
( 6.7א) חשב את היעקוביאן עבור הרובוט RPR
המרחבי שבאיור( .ב) רשום את הקשר בין
ד"ר ניר שוולב
מבוא לרובוטיקה
מהירויות התפסנית למהירות המפרק הפריזמטי.
תשובה:
- L 3 s12
(א) L 3 c12
1
L 0 s1 L1s1 L 2 c1 L 3s12 s1
J L 0 c1 L1 c1 L 2 s1 L 3 c12
c1
1
0
x s1
(ב) . y c1 L 2
φ 0
מצא את מטריצת היעקוביאן עבור הרובוט:
.9.1
תשובה:
6.9מצא את מטריצת היעקוביאן עבור הרובוט מהשאלה הקודמת באמצעות פעולת גזירה.
6.11
כתוב תוכנית מחשב עבור הרובוט המישורי RR
שבתמונה (החוליות שוות באורכן) ,המחשבת את
מהירויות המפרקים ( 1 , 2ראה תרשים) עבור תנועה
בקצב קבוע של יחידת הקצה במסלול ABCDכמוצג
באיור .בנקודות D,Aחוליות הרובוט מתוחות
לחלוטין.
6.11
קונפיגורציה איזוטרופית )(Isotropic
(ראה [ )]61[,]63היא קונפיגורציה (מצב של
כולם
העמודות
וקטורי
בה
הרובוט)
אורתוגונאליים אחד לשני וגודלם שווה .מצב זה
הוא היעיל ביותר מבחינת העברת הכוח מהמנועים
ליחידת הקצה .במצב זה אין עדיפות לשום כיוון
תזוזה של יחידת הקצה מבחינת "קלות יצירת התנועה" .מצא את הנקודות האיזוטרופיות
(אם קיימות) עבור הרובוט שנבחן בשאלה .9.6
113
114
ד"ר ניר שוולב
מבוא לרובוטיקה
תשובה :תהיינה קונפיגורציות איזוטרופיות אם מתקיים הקשר . L 2 L1 / 2במצב זה
הקונפיגורציות האיזוטרופיות תהיינה אלו אשר . 2 1350
9.66חשב את היעקוביאן מתרגיל 9.0באמצעות גזירה.
9.69חשב את היעקוביאן מתרגיל 9.9באמצעות גזירה.
9.60מצא את מטריצות היעקוביאן בממד 6x3עבור הרובוטים:
תשובה:
0 c1
0 s1
1 0
0 0
0 0
0 0
1
1 L 3 s1
0
1 L 3 c1
0
0
,J
0
0
0 0
0
0 0
1
0
1
0
0
0
0
1
J
0
0
0
ד"ר ניר שוולב
מבוא לרובוטיקה
.3סינגולאריות קינמטית
נתמקד ,לרגע ,במקרה המנוון בו מטריצת היעקוביאן Jסקלארית ,כלומר במצב בו
הפרמטרים של מהירות התפסנית מתקבלים מהכפלת הפרמטרים של מהירויות המפרקים
בסקלר
. Qהניחו כעת כי עבור קונפיגורציה מסוימת ערכו של היעקוביאן קרוב
OUT JQ IN
לאפס .במצב כזה כל בחירה של מהירויות הפרמטרים של הכניסה תתבטא במהירות זניחה
בתפסנית .במילים אחרות ,אם באותה קונפיגורציה קרובה לסינגולאריות נרצה להזיז את
1
התפסנית בכיוון מסוים
QOUT Q
IN
J
אולי אף מעל לטווח האפשרויות הפיזי של המפעילים .במצב המנוון שתיארנו ככל שערך
,נאלץ להזין מהירויות גדולות מאוד במפרקים,
היעקוביאן יתקרב לאפס כך נִמָּ צֵ א ב"בעיה" גדולה יותר ,כלומר ,הבעיה היא באי-ההפיכות
של היעקוביאן.
במצב יותר כללי בו המטריצה Jהיא ריבועית ובגודל שרירותי ,הקונפיגורציה נקראת
"סינגולארית" ) (Singular Configurationאם הדטרמיננטה שלה מתאפסת .במקרה כזה,
קיימת תלות ליניארית
ji1 , ji2 ,.., jin jk1, jk2 ,.., jkn
בין העמודות (גם השורות)
ביעקוביאן .נבחן מה קורה אז:
עבור קונפיגורציה רגולרית (שאינה סינגולארית) כל מפעיל (סיבוב ,תנועה ליניארית ,וכו')
גורר מימד חדש בתנועת התפסנית (תנועה ליניארית בכוון ,x,y,zתנועה סיבובית בכיוון x,y,z
או שילובים ליניאריים של הנ"ל).
בקונפיגורציה סינגולארית ,מאידך ,התלות
הליניארית גוררת מצב בו שני מפרקים
מאפשרים מהירות תנועה של התפסנית
באותו מימד .במילים אחרות שני מפרקים
תורמים תנועה זהה לתנועת התפסנית.
115
116
ד"ר ניר שוולב
מבוא לרובוטיקה
באופן זה איבדנו מימד בתנועה – איבדנו דרגת חופש של תנועה.
דוגמא :נביט ברובוט PRRהמאויר משמאל .מרחב העבודה של הרובוט הוא טבעת גלילית
עם רדיוס פנימי L 2 L 3וחיצוני . L 2 L 3עבור נקודה שרירותית בתוך מרחב העבודה נוכל
להזיז את התפסנית לכל כיוון כרצוננו -תוך שילובים מתאימים של מהירויות בשני המפרקים
הסיבוביים לקבלת מהירות כלשהי במישור ,והזנת מהירות רצויה בכיוון Zלמפרק הליניארי.
עבור נקודה במעטפת העבודה ,כלומר בנקודות בהן שתי החוליות האחרונות מתוחות ,לא
נוכל לקבל תנועה רגעית בכיוון רדיאלי .במילים אחרות ,לא נוכל "ליצור" מהירות של יחידת
הקצה פנימה ובוודאי שלא החוצה .נקל להבין את הטיעון אם נביט על האפשרויות לתנועה
העומדות לרשות כל אחת מן החוליות בנפרד :עבור קונפיגורציה נתונה קצה החוליה
הסיבובית הראשונה מסוגל לתנועה אינפיטיסימאלית במאונך לחוליה (ראה חץ באיור) .גם
קצה החוליה השנייה מסוגל לתנועה (מהירות) במאונך לכיוונו (ראה חץ באיור) .באופן זה
ברור שהתנועה הרגעית עבור קונפיגורציה רגולרית פורשת את מישור התנועה ,בעוד שעבור
קונפיגורציה סינגולארית של הרובוט -בה שתי החוליות מיושרות -מהירות התפסנית היא
הכיוון המאונך לכיוון היישור בלבד .וכך הפסדנו מימד לתנועת התפסנית.
פורמאלית ,הקינמטיקה הישירה היא העתקה ממרחב הפרמטרים של הכניסה INלמרחב
הפרמטרים OUTשל יחידת הקצה . F : IN OUTהיעקוביאן התקבל כאמור מגזירת
ההעתקה ,Fולכן (המרחבים איקלידיים) קיבלנו העתקה מהמרחב המשיק T INלמרחב
המשיק . TOUT
J : TIN TOUT
הכוונה היא למרחב המהירויות של המפרקים ולמרחב המהירויות של יחידת הקצה
בהתאמה .פן מעניין בתופעת הסינגולאריות הוא ,שכאשר מטריצת היעקוביאן אינה מדרגה
מלאה (סינגולארית) ,כלומר איננה העתקה על אז קיים תת מרחב q TINשאיננו ריק כך
ש , J : q 0כלומר קיים תת מרחב של מהירויות במפרקים שאינן באות לידי ביטוי
במהירות יחידת הקצה .הטענה הזו שקולה לטענה שבקונפיגורציה סינגולארית אנו
"מאבדים" דרגת חופש.
הערה :נשים לב שהתייחסות שלנו היא למהירויות ולתנועה רגעית בלבד .יטען הקורא
הנאיבי בטעות שאם המהירות ביחידת הקצה מתאפסת ,היחידה תהיה "תקועה" כי הרי
אינה יכולה להתקדם ! טעותו נעוצה בעובדה שאמנם הנגזרת הראשונה של המיקום
מתאפסת (המהירות) ,אבל אין ערובה לכך שהנגזרת השנייה והבאות אחריה מתאפסות .אלו
בתורן יגרמו לתזוזה המיוחלת ,שכן פיתוח טיילור למיקום נתון כ-
ד"ר ניר שוולב
מבוא לרובוטיקה
x(0) 2
t
2
דוגמא :עבור מפרק אוניברסלי כדוגמת מפרק הצוואר (בהנחה שהטיית הצוואר ימינה
x ( t ) x (0) x (0) t
ושמאלה אינה אפשרית) ,נוכל להדגים קונפיגורציה סינגולארית אם נביט בסדרת התמונות
שלמטה .נניח ונרצה להביט במעוף ציפור הנעה במהירות קבועה מצפון דרומה ,ומסלולה עובר
בדיוק בנקודת הזנית (מעלינו) .בכדי לעקוב אחרי הציפור נשמור על כיוון מבטנו צפונה (קטע
א-ב בתמונה) ,בעוד שאת ראשנו נצודד ביחס לאופק עוד ועוד עד לאותו הרגע בו הציפור
נמצאת בדיוק מעלינו .או אז נאלץ לסובב מהר את ראשנו מצפון לכיוון דרום (קטע ב-ג
בתמונה) ,ולהמשיך לעקוב אחרי מעופה דרומה (קטע ג-ד בתמונה) .כדי לעקוב באופן רציף
אחרי הציפור נאלצנו לסובב את ראשנו במהירות אינסופית בנקודת הזנית – זוהי הנקודה
הסינגולארית .נשים לב שבנקודה הזו "הפעלנו מנוע" ולא קרה כלום מבחינת מהירות יחידת
הקצה (העיניים) ,כמצופה.
בכדי להקל על החישובים ,אם לא נציין אחרת ,נתייחס בקורס אך ורק למהירות של
התפסנית (נתעלם מהמהירות הזוויתית) כשנדבר על סינגולאריות ,וכך מתוך Jnx6נתייחס רק
לתת-המטריצה העליונה .Jnx3בכדי לאתר את הקונפיגורציות הסינגולאריות נבדוק מתי
מתאפסת הדטרמיננטה של היעקוביאן (זכרו ,לכל קונפיגורציה של הרובוט ערכי האלמנטים
ביעקוביאן שונים) .כיוון שהדטרמיננטה מוגדרת עבור מטריצות ריבועיות Jבלבד ,13במקרה
שהיעקוביאן אינו ריבועי "נרבע" אותו ע"י חישוב הדטרמיננטה של ( JJ Tהקורא המתעניין
בסיבה הפורמאלית לחישוב זה יפנה לפרק 63הדן במדדים).
13עבור רובוטים יתירים כרובוטים נחשיים (ראה לדוגמא תרגיל בנספח ג') מטריצת היעקוביאן J mn
איננה
ריבועית ( .)m<nבמצב זה הדטרמיננטה כמובן אינה קיימת .התנאי לסינגולארית במצב זה יהא ששורות
היעקוביאן Jתהיינה תלויות לינארית .בדומה למצב בו Jריבועית ,כך גם במצב הלא ריבועי שוב מאבדת
התפסנית דרגת חופש אחת לפחות.
117
מבוא לרובוטיקה
118
ד"ר ניר שוולב
תרגיל :8.4עבור הרובוט RRPהמרחבי שבתרגיל 96
מצא את הקונפיגורציות הסינגולאריות עבור המיקום
והאוריינטציה .דון בהן.
תשובה :כפי שעשינו בתרגיל ,91שלשת השורות
התחתונות ביעקוביאן מתארות את הקשר בין
המהירויות במפרקים למהירות הזוויתית של התפסנית .לעומת זאת ,שלשת השורות
הראשונות ב J-מתארות את הקשר בין המהירויות במפרקים למהירותה הקווית של
c1
התפסנית ,לכן קיבלנו s1 :
0
s1
c1
0
L 3 s 1 L 2 c1
. J - L 3 c1 - L 2 s 1
1
כיוון שהדטרמיננטה של היעקוביאן קבועה ושווה ל 6-לכל קונפיגורציה ,אין לרובוט נקודות
סינגולאריות.
תרגיל :8.5עבור הרובוט RRPהמרחבי שבתרגיל 91מצא את
הקונפיגורציות הסינגולאריות ודון בהן.
תשובה :קיבלנו זה מכבר
c1 s 2 θ 1
s1 s 2 θ 2
- c 2 L 2
L 2 c1 c 2
L 2 s1c 2
L 2s 2
- L 2 s 1s 2
v L 2 c 1s 2
0
לאחר חישוב הדטרמיננטה ומעט טריגונומטריה נקבל . det(J) 2 L 2 2 s 2 :נשווה לאפס
ונקבל אחת מהאפשרויות:
, L 2 0כלומר התפסנית נמצאת בדיוק מעל הבסיס בנקודת המפרק השני .הפעלת
המנועים הסיבוביים הראשונים לא משנה את מיקום התפסנית.
, s 2 0כלומר θ 2 0, πוהחוליה השלישית נמצאת בכיוון ציר . Zגם במצב זה
הפעלת המנועים הסיבוביים הראשונים לא משנה את מיקום התפסנית.
תרגיל :8.6נתון הרובוט שנדון בתרגיל ,5.3מצא את היעקוביאן ודון בקונפיגורציות
הסינגולאריות שלו.
119
ד"ר ניר שוולב
מבוא לרובוטיקה
: ידוע כי5.3 על פי התוצאות שהתקבלו בתרגיל:תשובה
c1 0 s 1
s 0 c1
0
T1 1
0 1 0
0 0 0
0
0
;
L1
1
c1 c 2
s c
0
. T3 1 2
s
2
0
c1 c 2
s c
0
T2 1 2
s
2
0
s 1 c 1s 2
- c 1 s 1s 2
c 1s 2
s 1s 2
0
0
c2
0
s1
- c1
c 1s 2
s 1s 2
0
0
c2
0
c1 c 2 L 2
s1c 2 L 2
;
L 2 s 2 L1
1
L 3 c 1s 2 c 1 c 2 L 2
L 3 s 1s 2 s 1 c 2 L 2
L 3 c 2 L 2 s 2 L1
1
:) נקבל9.3(,)9.9(,)9.5(,)9.9( מנוסחאות
L 3 c 1s 2 c 1 c 2 L 2
r0 p 3 p 0 L 3s1s 2 s1c 2 L 2 ;
L c L s L
3 2
2 2
1
0
0
0
0
b0 0
1
;
0
L 3 c1s 2 c1c 2 L 2
r1 r2 p 3 p1 L 3s1s 2 s1c 2 L 2
L c L s
3 2
2 2
s1
b 1 c1
0
0
;
0
0
c1s 2
b 2 s1s 2
c
2
לכן עבור המפרק הסיבובי. מפרקים סיבוביים ואחריהם מפרק פריזמטי9 הרובוט הוא בעל
bˆ 1 r1 bˆ 0 r0
העמודה הראשונה והשנייה ביעקוביאן תהיינה,הראשון
,
, בהתאמה
ˆ bˆ
b
0
1
:הבאות
התוצאות
את
יניב
חישוב
bˆ
. 2
0
והשלישית
ואילו
c1 L 3 c 2 L 2 s 2
L 3 s 1s 2 s 1 c 2 L 2
. b1 r1 s1 L 3 c 2 L 2 s 2 וכןb 0 r0 L 3 c1s 2 c1c 2 L 2
L 3s 2 c 2 L 2
0
: אם כן,הביטוי ליעקוביאן יהיה
מבוא לרובוטיקה
111
ד"ר ניר שוולב
c1 L 3 c 2 L 2 s 2 c1s 2
s1 L 3 c 2 L 2 s 2 s1s 2
L 3s 2 c 2 L 2
c2
s1
0
c1
0
0
0
L 3 s 1s 2 s 1 c 2 L 2
L 3 c 1s 2 c 1 c 2 L 2
0
J
0
0
1
נצמצם את התייחסותנו לחלקים המתייחסים למהירויות הליניאריות של התפסנית ,כלומר:
c1 L 3 c 2 L 2 s 2 c1s 2
s1 L 3 c 2 L 2 s 2 s1s 2
L 3s 2 c 2 L 2
c 2
L 3 s 1s 2 s 1 c 2 L 2
J L 3 c1s 2 c1c 2 L 2
0
נחשב את הדטרמיננטה ונקבל . det J L 3 c 2 L 2 L 3s 2 הביטוי מתאפס באחד מהמצבים
הסינגולאריים הבאים:
L 3 0מתאר מצב בו המפרק הפריזמטי מתאפס.
L2
L3
tanθ 2 מתאר קונפיגורציה בה יחידת הקצה ניצבת בדיוק על
ציר ( Zראה איור :פונה מעלה או מטה) .במצב זה מהירות זוויתית
במפרק הסיבובי שבבסיס לא יגרור מהירות ביחידת הקצה.
בכדי להבין מה קורה למעשה במקרה הראשון נציב L 3 0ליעקוביאן
ונקבל:
c 1s 2
s 1s 2
c 2
L 2 c 1s 2
L 2 s 1s 2
c2L2
L 2 s1c 2
J L 2 c1 c 2
0
כעת ,נמצא את גרעין היעקוביאן ,או את תת המרחב , x, y,z Tשהכפלת היעקוביאן בו
J x, y,z T 0תניב את וקטור האפס:
c 1s 2 0 0
s 1s 2 1 0
c 2 L 2 0
L 2 c 1s 2
L 2 s 1s 2
c2L2
L 2 s1c 2
L 2 c1 c 2
0
ד"ר ניר שוולב
מבוא לרובוטיקה
כלומר ,אם נפעיל את המפרק הסיבובי הראשון במהירות זוויתית בת יחידה (נניח רדיאן
לשנייה) ואת המנוע הפריזמטי במהירות קווית בגודל ( L 2נניח מטר לשנייה) ,אז המהירות
הקווית של יחידת הקצה תהא אפס.
תרגיל :8.1נתון הרובוט המישורי .RRדון בקונפיגורציות
הסינגולאריות שלו.
L 2 s12
תשובה :היעקוביאן שהתקבל זה מכבר הואL 2 c12 1 :
1 2
- L1s1 L 2 s12
v
L1c1 L 2 c12
ω
1
הרובוט מישורי ,ולכן המהירות הליניארית של התפסנית קשורה לשתי השורות הראשונות
בלבד:
L 2 s12
L 2 c12
- L s L 2 s12
J 1 1והדטרמיננטה
L1c1 L 2 c12
. det J L1L 2 s 2הווה אומר
שהקונפיגורציות הסינגולאריות הן אותן קונפיגורציות בהן , θ 2 0, πכלומר הקונפיגורציות
בהן החוליות מיושרות אחת ביחס לשנייה (מתוחות לגמרי או מקופלות לגמרי) .אין חשיבות
לערך . θ 1ולכן ישנן אינסוף קונפיגורציות סינגולאריות .נשים לב שהקונפיגורציות
הסינ גולאריות הן בדיוק המקום הגיאומטרי שמהווה את שטח מעטפת מרחב העבודה של
הרובוט (מעטפת חיצונית ופנימית) .בקונפיגורציות הסינגולאריות אין אפשרות למהירות
בכיוון הרדיאלי (פנימה והחוצה) – יש לפתוח "קודם" את שתי החוליות ורק "לאחר מכן"
אפשר להניע את יחידת הקצה במהירות קווית שאיננה אפס בכיוון הרדיאלי.
נראה זאת :הביטוי ליעקוביאן בקונפיגורציה הסינגולארית ,כלומר עבור , θ 2 0הוא
L 2 s1 θ 1
L 2 c1 θ 2
θ - L1 L 2 s1
v Jθ 2 0 1
θ 2 L1 L 2 c1
בקונפיגורציה הזו ,הביטוי למיקום יחידת הקצה הוא . x, y L1 L 2 c1 , s1 לכן נוכל
לחלץ את וקטור המהירות בכיוון הרדיאלי ,כלומר בכיוון , x, y באמצעות מכפלה
L 2 s1 θ 1
סקלארית 0 :
L 2 c1 θ 2
- L1 L 2 s1
. x, y v c1 , s1
L1 L 2 c1
111
מבוא לרובוטיקה
112
ד"ר ניר שוולב
משפט :מעטפת מרחב העבודה מורכבת מנקודות סינגולאריות( .לרוב מתרחש כאשר מספר
חוליות מתיישרות).
תרגיל :8.2נתון רובוט RRRהמרחבי של חברת Eshed
Robot
הישראלית
איור
(ראה
סכמטי).
ידוע
שהקונפיגורציה בה יחידת הקצה נמצאת על ציר ,Zהינה
סינגולארית .הסבר את הסיבה הקינמטית לכך.
תשובה :נניח ללא הגבלת הכלליות שהמפרק בבסיס
מסובב באופן שהחוליה השנייה והשלישית מצויות במישור
.ZYבקונפיגורציה הסינגולארית נקודת הקצה מצויה על
ציר .Zנשים לב שבקונפיגורציה כזו יחידת הקצה מוגבלת
לתנועה (באופן רגעי) למישור ZYבלבד .כלומר ,אם נרצה להזיז את התפסנית בכיוון ציר X
לדוגמא ,נאלץ להזיז מעט את יחידת הקצה מציר ,Zלסובב מעט את המפרק בבסיס כך
שהחוליות השנייה והשלישית תהיינה במישור כלשהו שאינו מישור ,ZYורק לאחר מכן נפעיל
את המפרקים השני והשלישי לקבלת התנועה הרצויה.
באופן שקול בקונפיגורציה הסינגולארית המפרק הסיבובי בבסיס אינו תורם לתנועת יחידת
הקצה (כיוון שהיא על ציר הסיבוב שלו).
טענה טבעית היא שאם נוסיף מספיק מנועים לרובוט טורי נוכל להימנע מקיום סינגולאריות
במרחב העבודה .מסתבר שהטענה אינה נכונה כלל ועיקר ,כפי שהוכיח Gottliebב [.]66
משפט :לכל רובוט טורי R
RRעם nמפרקים סיבוביים יש סינגולאריות ולא ניתן
n
להימנע ממנה בריבוי כלשהו של מפרקים סיבוביים.
תרגילים נוספים:
7.6מצא באופן פורמאלי את כל הקונפיגורציות הסינגולאריות
של הרובוט מתרגיל .3.5
7.7המפרק הפריזמטי של הרובוט RPRהמרחבי שבאיור,
התקלקל .מצא את הקונפיגורציות הסינגולאריות עבור
המיקום ,דון בהן.
מבוא לרובוטיקה
L2
תשובה:
L 0 L1
ד"ר ניר שוולב
tanθ 2 tanθ 2
7.8האם לרובוט המישורי RPשבאיור יש נקודות סינגולאריות?
הסבר.
רמז :קיימת קונפיגורציה סינגולארית .חשבו על מרחב
המהירויות האפשרי של יחידת הקצה.
7.9בתמונה נתון הרובוט המרחבי RRPמדגם
( Unimateמפרק סיבובי בכיוון ,Zאחריו מפרק
סיבובי מאונך לראשון ולבסוף מפרק פריזמטי).
מהן הנקודות הסינגולאריות שלו (ביחס למיקום
יחידת הקצה בלבד)? הסבר מה קורה מבחינה
קינמטית .כיצד יכלו המתכננים למנוע הגעה
לקונפיגורציות הללו?
תשובהL1 0, θ 2 0, π :
7.11
נתון הרובוט RRPהמרחבי שבאיור.
(א)
מצא את הפרמטרים של דנביט והרטנברג ופתור
את בעיית הקינמטיקה הישירה( .ב) נסח דרך
ומשוואות מתאימות לבדיקת ַת ִקינּות הקריאות
באנקורים שבמפרקים( .ג) נסח דרך ומשוואות
התפסנית
מהירות
למציאת
מתאימות
המקסימאלית ,ע"פ המהירויות המקסימאליות
שהמנועים יכולים לספק( .ד) מהן הנקודות
הסינגולאריות של הרובוט? כיצד הן מגבילות את תנועת הרובוט?
תשובה:
113
114
ד"ר ניר שוולב
מבוא לרובוטיקה
L 3 c 1s 2 L 2 s 1
L 3 s 1s 2 L 2 c 1
(א)
0
c2
L 3 c 2 L1
0
0
1
z L1
2
;, L 3 0
L 2 ; 2 cos 1
L3
c 1s 2
s 1s 2
s1
c1
c 1s 2
( 1 a tan 2 x, yג) s1s 2
c 2
L 3 0; 2 0,
7.11
c1 c 2
s c
0
( T3 1 2ב)
-s
2
0
L 3 x 2 y 2 z L1
2
L 3s1 s 2 L 2 c1 L 3 c1 c 2
J L 3 c 1s 2 L 2 s 1
L 3 s1 c 2
0
L3 s 2
נתוני התכן של הרובוט מדגם SCARAשנבחן בשאלה
(ד)
9.6
הם:
( a 0 500, a 1 400, a 2 250, d 3 0,150, d 4 0המידות במילימטרים) .כמו כן
נתון תחום פעולת המפרקים1 [110 0 ,90 0 ], 2 [0 0 ,1550 ], 3 [0 0 ,360 0 ], :
(א) חשב את היעקוביאן( .ב) כתוב תוכנית אשר מחשבת את מקדם האיזוטרופיות עבור
נקודה במרחב העבודה .מקדם האיזוטרופיות מוגדר כמנת הערך העצמי המקסימאלי של
מטריצת היעקוביאן עם זה המינימאלי (השווה עם שאלה .)9.63
3.69עבור הרובוטים משאלה 9.60מצא מהן הקונפיגורציות הסינגולאריות.
תשובה :התפסנית לאורך ציר ,Zאין קונפיגורציות סינגולאריות.
ד"ר ניר שוולב
מבוא לרובוטיקה
.1אנליזת כוחות סטטית
רובוטים באים מן הסתם במגע מכאני עם
סביבתם ,בין השאר בהליכי הרכבה ,במשימות
העמסה ,במשימות אחיזה שונות ובתאחיזת
רכב בתוואי שטח .משימות כאלה דורשות
בקרה על הכוחות והמומנטים שיחידת הקצה
מפעילה על האובייקט .בפרק זה נדון בהרחבה
בחישוב המומנטים והכוחות ביחידת הקצה
בעת שהרובוט סטאטי.
הפעלת אחד או יותר ממנועי הרובוט תחולל,
מן הסתם ,הפעלת כוחות/מומנטים ביחידת
הקצה .ומכאן ברי הוא שכדי ליצור כוחות
ומומנטים רצויים ביחידת הרצה יש לתאם את הפעלת המנועים ברובוט .בפרק הקודם ראינו
שמטריצת היעקוביאן מקשרת בין מהירות התפסנית למהירויות המפרקים ,ובפרק זה נראה
כי היעקוביאן מקשר בין הכוחות המופעלים במפרקים לאלו המתחוללים ביחידת הקצה.
כידוע ,עבודה היא (כוח) ( xדרך) ,אולם כיוון שאנו עוסקים בסטאטיקה ,כלומר ,לא קיימת
כלל תנועה ,אין ברירה אלא לעסוק בעבודה וירטואלית ) .(Virtual workעבודה וירטואלית
מוגדרת כְ :
)(8.1
δW F δx x δF
כאשר δpהוא הגודל Pהווירטואלי האינפיניטסימאלי ,בשונה מהגודל האינפיניטסימאלי
האמיתי dpהרגיל ( שימו לב ,אנו חושבים על עבודה שלמעשה לא מתבצעת) .משוואה ()1.6
תאפשר לנו ,אם כן ,לעקוב אחר הכוחות המתפתחים במפרקים ובתפסנית באמצעות
משוואות אנרגיה ,אפילו שאנו דנים במצב סטאטי.
אנו עוסקים במצב סטאטי ולכן העבודה הוירטואלית שחושבה במשוואה 1.6מתאפסת .מצד
שני ,העבודה הוירטואלית המבוצעת על ידי התפסנית והמפרקים בנפרד תלויה בדרכים
הוירטואליות שאלו עושים ,ומתקיים השוויון:
)(8.2
FT δx τ T δθ
כאשר Fמסמן את וקטור הכוחות על התפסנית; δxאת הדרך הוירטואלית
האינפיניטסימאלית שעוברת התפסנית; ווקטור τTאת המומנטים והכוחות שהמפרקים
115
116
ד"ר ניר שוולב
מבוא לרובוטיקה
מרגישים; ו δθ-מסמן את הדרך הוירטואלית שעושים המפרקים הפריזמטיים ,ואת
הסיבובים הוירטואליים שעושים המפרקים הסיבוביים.
הערה :מעתה ,כשנדבר על כוחות ,נתכוון למעשה לכוחות או מומנטים .בספרות ההתייחסות
הזו נקראת כוחות מוכללים ) .(Generalized Forcesכשנדון בכוחות במפרקים הכוונה היא
שהמדובר בכוח הנפעל על (או המופעל על ידי) מפרק ליניארי ,ובמומנט הנפעל על (או המופעל
על ידי) מפרק סיבובי .כשנדון בכוחות על יחידת הקצה נתכוון לווקטור ( 9ממדי עבור רובוט
מרחבי 0 ,ממדי למישורי) של כוח ומומנט על התפסנית.
את הקשר הקינמטי ( Jθ xמשוואה )9.6כבר הכרנו ,ומכאן ברור שגם . J δθ δx :נציב
בשוויון ( )3.9שלנו ונקבל FT J δθ τ T δθומכאן . F J τ
T
T
מתוך הזהות (AB)T=BTATנקבל את הקשר בין הכוחות במפרקים τלכוחות שהתפסנית
חשה : F
τ JT F
)(8.3
דוגמא :כפי שהערנו הוקטורים τ, Fהם למעשה וקטורי כוחות מוכללים .כלומר ,אם נסמן ב
m, fכוח ומומנט בהתאמה ,נוסחה ( )1.0עבור רובוט RRPPתהא:
m1
m 2 T f e
f J m
3
e
f
4
)(8.4
L1c1 L 2 c12
דוגמא :עבור הרובוט המישורי RRידוע כי
L 2 c12
- L s L s
. J T 1 1 2 12כאמור,
L 2 s12
קונפיגורציה סינגולארית היא כזו בה החוליות מיושרות יחדיו ,כלומר , θ 2 0, πומכאן
L1 L 2 c1
שבנקודה הסינגולארית :
L 2 c1
- L1 L 2 s1
. J T כפי שכבר יכולנו לנחש בעבר,
L 2 s1
כוח בכיוון הרדיאלי c1 , s1 Tהנפעל על יחידת הקצה לא ישפיע על המנועים ,ואמנם:
c
. J T 1 0נקל להשתכנע שאכן כך הוא אם נביט באיור שלמטה המדגים מכאניזם RR
s1
דומה (אם נחשוב על יחידת הקצה כמחליקה ללא חיכוך על המשטח ,ההקבלה לרובוט RR
ד"ר ניר שוולב
מבוא לרובוטיקה
117
תהיה מלאה) .בתמונה מתואר כוח Hהמופעל על יחידת הקצה פנימה בכיוון הרדיאלי ,כאשר
הזווית
קטנה .בקונפיגורציה המתוארת נוכל בקלות להתנגד לכוח Hבאמצעות הפעלת כוח
קטן על המפרק השני למטה .לחילופין ,נוכל להתנגד לכוח Hבאמצעות הפעלת מומנטים
קטנים במפרקים .למעשה המומנטים הדרושים במפרקים ילכו ויקטנו ככל שהזווית 2
תתקרב לאפס ,ובנקודה בה 2 0
לא נזדקק למומנטים בכדי להתנגד לכוח
.
משפט :כוח שכיוונו אורתוגונאלי למרחב העמודות של היעקוביאן ,יחולל כוחות/מומנטים
אפסיים על מפרקי הרובוט.
הוכחה :טריוויאלית .
כלומר ,אם ברצוננו להתנגד לכוח ( Hגדול ככל שיהיה) שכיוונו אורתוגונאלי לכיוון העמודות
של היעקוביאן נוכל לעשות זאת בקלות תוך הפעלת כוח/מומנט מינימאלי .קונפיגורציה מעין
זו יכולה ,כמובן ,לשרת אותנו כמהנדסים:
הגדרה :בהינתן כוח מוכלל חיצוני Fהפועל על יחידת הקצה ,ובהינתן קבוצת הכוחות
המוכללים τבמפרקים שאותם נחוש כתגובה על , Fנגדיר את היתרון המכאני כמנה
F
τ
.
היתרון המכאני משקף ,אפוא ,את המאמץ שנידרש לו בכדי לאזן כוח חיצוני.
מסקנה :במצב בו יחידת הקצה נפעלת לכוח שכיוונו אורתוגונאלי למרחב העמודות של
היעקוביאן ,נקבל יתרון מכאני השואף לאינסוף.
L 2 s12
מטריצת היעקוביאן עבור מקרה הרובוט RRהמישורי היא
L 2 c12
לכן,
מרחב
העמודות
של
היעקוביאן
נפרש
- L s L s
. J 1 1 2 12
L1c1 L 2 c12
באמצעות
הוקטורים
s1
s
s
, 1 L1 L 2 , 1 L 2 ומכיוון שאלו תלויים ליניארית נקבל , β
. β
c1
c1
c1
118
ד"ר ניר שוולב
מבוא לרובוטיקה
s
כלומר מרחב העמודות של היעקוביאן נפרש על ידי הוקטור היחיד . 1
c1
המרחב
c
האורתוגונאלי למרחב זה הוא המרחב הנפרש ע"י . 1
s1
הערה :המרחב האורתוגונאלי למרחב העמודות של היעקוביאן נקרא בספרות מרחב האפס
c1
) (Null Spaceשל היעקוביאן .בדוגמא שלנו מרחב האפס יהיה . ,
s1
על פי המשפט נסיק כי עבור רובוט מישורי RRהמצוי
בקונפיגורציה סינגולארית ,ואשר יחידת הקצה שלו נפעלת לכוח
c
שכיוונו הכיוון הרדיאלי , 1 יתורגם למומנטים בגודל אפס
s1
במפרקי הרובוט .לשון אחר ,היתרון המכאני
F
τ
המקסימאלי של
הרובוט מתקבל בקונפיגורציה סינגולארית ,כאשר יחידת הקצה
שלו נפעלת לכוח שכיוונו הכיוון הרדיאלי.
תרגיל :7.4בשרטוט נתון הרובוט המרחבי ,RRPשנדון בתרגיל ( .9.9א) מצא את
הקונפיגורציות הסינגולאריות ,והדגם אותן בדרך אלגברית( .ב) אילו תנועות לא ניתן לקיים
בקונפיגורציות הסינגולאריות הנ"ל? (ג) דון בקשר שבין הכוחות/מומנטים על יחידת הקצה
והכוחות/מומנטים במפרקים( .ד) דון בקשר זה כאשר הרובוט נמצא במצב הסינגולארי שלו.
פתרון( :א) היעקוביאן שקיבלנו בתרגיל :9.9
c 1s 2
s 1s 2
- c 2 33
L 2 c1 c 2
L 2 s 1s 2
L 2s 2
- L 2 s 1 s 2 L 1s 1
J L 2 c1 c 2 L1 c1
0
למציאת הנקודות הסינגולאריות נחשב את הדטרמיננטה של היעקוביאן
ונשווה לאפס:
det J L 2 L 2 s 2 L1 0
הדטרמיננטה מתאפסת כאשר L 2 sinθ 2 L1 :או . L 2 0
ד"ר ניר שוולב
מבוא לרובוטיקה
(ב) כאשר הרובוט מצוי באחת מנקודותיו הסינגולאריות המקיימת L 2 sinθ 2 L1כמודגם
באיור ,באופן רגעי לא ניתן לגרום לתפסנית לנוע בכיוון הניצב לדף (וכפי שניווכח בפרק הבא,
בכיוון זה לרובוט קשיחות אין-סופית) .כאשר L 2 0לא ניתן לקיים מהירות בכיוון הניצב
לחוליה . L 2
הטענה האחרונה דורשת הבהרה :בקונפיגורציה רגולארית כלשהי בה L 2 sinθ 2 L1ו-
, L 2 0מרחב המהירויות (התנועה הרגעית) הוא תלת ממדי :התנועה לכיוון הנורמל לדף
מתקבלת מסיבוב , θ 1התנועה בכיוון L 2מתקבלת מפעולת המפרק הפריזמטי , L 2והתנועה
בכיוון הניצב ל L 2 -מתקבלת מסיבוב . θ 2בקונפיגורציה סינגולארית בה L 2 0שתי
התנועות הראשונות עדיין אפשריות ,בעוד שהתנועה בכיוון הניצב ל( L 2 -המתקבלת בד"כ
מסיבוב ) θ 2מתנוונת ואינה אפשרית עוד.
(ג) על פי משוואה ( )3.0נקבל:
0 Fx
L 2 s 2 Fy
c 2 Fz
L 2 c1 c 2 L1 c1
L 2 s 1s 2
s 1s 2
M1 - L 2 s1s 2 L1s1
L 2 c1 c 2
M2
F
c 1s 2
3
כאשר M1 , M 2 , F3מציינים את הכוחות והמומנטים שיש להפעיל על המפרקים בכדי להתנגד
לכוח Fעל התפסנית .כלומר M1 , M 2 , F3מייצגים את הכוח הפועל בניגוד לכיוון המפרק
הפריזמטי ,והמומנטים על המפרקים הסיבוביים הם 9ו 6-בהתאמה.
(ד)
נסתכל על מרחב העמודות של היעקוביאן כאשר : L 2 0
s1 c1s 2
s1 c1
spancolJ span c1 , s1s 2 span c1 , s1 מר
0 c
0 1 t
2
2
חב
האפס
הוא
אוסף
הוקטורים
, x, y, z
שמקיים:
c1
- s1
x, y, z c1 0וכן . x, y, z s1 0משלושת השוויונות
1 t
0
2
נקבל
z
0 , yc1 - xs 1 0
t2
xc 1 ys1 ונקבל . x, y, z c 2 c1 , c 2 s1 , s 2 כלומר,
הכוח הבעייתי הוא בכיוון החוליה , L 2כמתואר באיור (או בכיוון המנוגד) .עבור המקרה
119
מבוא לרובוטיקה
121
הסינגולארי
השני
ד"ר ניר שוולב
, L 2 sinθ 2 L1
העמודות
מרחב
היעקוביאן
של
c1 c1
יהיה spancolJ span s1 , s1 :והמרחב המאונך למרחב זה נפרש ע"י הווקטור
t 1 t
2 2
- s1
, c1 כלומר הכוח הבעייתי הוא בכיוון הניצב לדף (פנימה או החוצה).
0
תרגיל :7.5בשרטוט נתון הרובוט המישורי RRאשר כל חוליותיו
0
באורך מטר אחד .עבור הקונפיגורציה בה θ1 θ 2 θ 3 45מהו
הקשר בין המומנטים במפרקים למומנט בתפסנית? מהם הכוחות
המוכללים במפרקים אם התפסנית נפעלת לכוח
N
T
2 ,0
ולמומנט של ? 1 Nm
s1
פתרון :הביטוי ליעקוביאןc1 :
1
- s1 s12 s123
. J c1 c12 c123עבור הקונפיגורציה
1
- s1 s12
c1 c12
1
הנתונה נקבל:
s1 2 1 2 2 1 2 2
c1
0
2 2
2 2
1
1
1
1
- s1 s12 s123 - s1 s12
c1 c12 c123 c1 c12
1
1
1 2 2 1
ומנוסחה ( )3.0ידוע2 2 1 0 2 :
2 2 1 1
0
0
2 1
. 2 2 1כלומר המומנטים
2 2
במפרקים יהיו ]. m1 , m 2 , m 3 ( 2 1, 2 ,0)[Nm
תרגיל :7.6בשרטוט הבא נתונה זרוע פומה
שמשמשת לריתוך אלקטרודות .מדי פעם
J θ i 45 0
ד"ר ניר שוולב
מבוא לרובוטיקה
האלקטרודה "נדבקת" ועל הרובוט לעקור אותה ממקומה כדי להמשיך לעבוד .מצא את
~~
f , mעל
הקשר בין הכוח והמומנט f, mשמופעל על האלקטרודה ,לבין הכוחות והמומנטים
הנקודה המסומנת (זו הנקודה PCשדנו בה בפרק .)5על פי האיור ,הווקטור השרירותי P
מתאר את מיקום הנקודה PCביחס לנקודת ההדבקה.
פתרון :ידוע כי . τ J Fכיוון שאנו מעוניינים בכוחות על מערכת ,PCנדמיין לעצמנו רובוט
T
שבסיסו באלקטרודה וקצהו ב .PC-זרוע הרובוט במצב זה יכולה לנוע אינפיניטסימאלית
בכיוון מרחבי שרירותי ,ולהסתובב אינפיניטסימאלית בכיוון מרחבי שרירותי.
b r
b
תזוזה תתבטא ביעקוביאן כעמודה בעוד שסיבוב יתבטא ביעקוביאן כעמודה
.
b
0
ולכן חלק היעקוביאן המבטא את התזוזות יהא:
py
px
0
0
0 0
0
1
0
0 0
0
0
1
והקשר שהתקבל הוא:
pz
0
px
0
0
0
0 pz
1 py
0
1
0
1
0
0
1
0
bˆ 3 p1 0
bˆ 3 0
0
0
0 0 0 f x
0 0 0 f y
0 0 0 f z
1 0 0 mx
0 1 0 m y
0 0 1 m z
bˆ 1 p1
ˆb
bˆ 3
0
bˆ 2 p1
ˆb
1
0
0
0
pz
p
y
~
fx
~
f
~y
fz
~
mx
~
m
y
~
m
z
2
0
0
0
1
1
0
py
pz
px
0
0
0
1
תרגיל :7.1נתון היעקוביאן של רובוט SCARAמהדגם בתמונה .מצא
את הכוחות או המומנטים שלהם לא יוכל הרובוט להתנגד.
bˆ 2
0
ˆ b
. J 1
0
121
מבוא לרובוטיקה
122
ד"ר ניר שוולב
0
0
1
0
0
0
L1c1 L 2 c12
L1s1 L 2 s12
0
0
0
1
0 L 2 c12
0 L 2 s12
0
0
J
0
0
0
0
1
1
פתרון :מרחב האפס ) )Null spaceשל J Tנפרש ע"י הוקטורים0,0,0,1,0,0T :
ו-
0,0,0,0,1,0Tכלומר הרובוט לא יוכל להתנגד למומנטים סביב הצירים Xו Y-ולמעשה לא
יוכל להתנגד לכל מומנט שצירו במישור .XY
משוואה ( )1.0היא למעשה העתקה בין מרחב הכוחות בתפסנית למרחב הכוחות שבמפרקים.
ההעתקה הזו תלויה בקונפיגורציה.
לשם המחשה דמיינו את מרחב הכוחות F
כמעגל דו ממדי .המעגל מייצג את אוסף כל
וקטורי הכוחות באורך יחידה הפועלים על
התפסנית .משוואה ( ,)1.0כאמור ,מעתיקה
את מעגל הכוחות שבתפסנית למרחב
הכוחות במפרקים -שצורתו הדו ממדית
כמובן שונה .כפי שנוכיח ,במקרה הדו-
ממדי יועתק המעגל לאליפסה בנקודות רגולאריות ,וככל שנתקרב לנקודה סינגולארית תמתח
האליפסה עד שבנקודה עצמה יוותר קטע חד ממדי .המשמעות היא שכוחות הפועלים על
התפסנית בכיוון שרירותי במישור ,אינם באים לידי ביטוי במפרקים ,ובמילים אחרות:
היתרון המכאני המושג בקונפיגורציות מעין אלה יהיה גדול אינסופית .לעומתן הנקודות
האיזוטרופיות שדובר בהן בתרגילים 9.63ו ,3.66-תעתקנה את מעגל הכוחות בתפסנית למעגל
כוחות במפרקים .כלומר ,יש ביטוי מלא ואופטימלי במפרקים לכוחות המופעלים על
התפסנית .
נפעיל על המפרקים כוח באורך יחידה . τבמילים אחרות ,מתקיים . τ 1נציב את
השוויון למשוואה ()1.0
T
)(8.3
ונקבל:
τ JT F
ד"ר ניר שוולב
מבוא לרובוטיקה
8.4
F J JT F 1
זוהי משוואת אליפסואיד -nממדי במרחב הכוחות בתפסנית
) . (Fx , Fy ,.., M zהוקטורים העצמיים של המטריצה J Jיהוו
T
את הצירים הראשיים
14
של האליפסה בעוד ש 1 / iאת
האורכים שלהם ,ואילו iאת הערכים העצמיים של . J Jנשוב
T
לניתוח הזה בפרק ,63שם ניווכח שתיאור זה קשור למדד הנקרא מדד המניפולטיביות.
תרגיל :7.2נתון רובוט מישורי RRכדוגמת האיור עם אורכי חוליות . L1 3, L 2 1
הכוחות המופעלים על התפסנית והמפרקים נתונים כ (Fx , Fy ) Tו (1 , 2 ) T -בהתאמה .עבור
קונפיגורציה בה ( 1 0, 2 / 2א) מצא את אליפסת הכוחות בתפסנית( .ב) מה כיוון
התפסנית המועדף לעבודה מבחינת כוחות בקונפיגורציה זו?
L1c1 L 2 c12 f x
תשובה :ידוע הקשר :
L 2 c12
f y
החוליות
בקונפיגורציה
הרצויה
L s L 2 s12
. 1 1 1נציב את אורכי
2 L 2 s12
ונקבל:
1 1 f x
, 1
2 3 0 f y
ולכן
2
3
. J J T נציב בנוסחה ()1.9
3
3
ונקבל את משוואת האליפסה המבוקשת
. 2f x 2 3f x f y 3f y 1כל נקודה על
2
2
האליפסה מציינת את אוסף הכוחות שיכול
להתקבל בתפסנית כתוצאה מהפעלת וקטור
(באורך יחידה) כוחות 1 , 2 T
במפרקים.
5 13
T
הערכים העצמיים של המטריצה J Jהם
2
לערך העצמי המקסימאלי מסומן בחץ האיור שמשמאל .כיוון זה מציין את כיוון הכוח היעיל
ביותר בתפסנית מבחינת היתרון המכאני.
1, 2 והווקטור העצמי המתאים
14
ע"פ הבנייה שלנו ,המטריצה
F 0
T
J JT
היא positive semidefiniteכלומר עבור כל ווקטור Fמתקיים
. F J Jבנוסף המטריצה סימטרית ,ולכן הווקטורים העצמיים שלה מאונכים אחד לשני.
123
124
ד"ר ניר שוולב
מבוא לרובוטיקה
תרגילים נוספים:
עבור רובוט הנמצא בקונפיגורציה סינגולארית שלו ,הראו שקיימים כוחות מוכללים
8.5
שאם יופעלו על התפסנית ניתן יהיה לאזן אותם ע"י כוחות אפסיים במפרקים.
8.6
כתוב תוכנית מחשב אשר מחשבת את ההעתקה בין מרחב הכוחות בתפסנית לאלו
שבמפרקים עבור הרובוט ( RRראו תרגיל ( .)1.9א) הדגם מה קורה בסמוך לקונפיגורציות
הסינגולאריות( .ב) מה קורה בסמוך לנקודות האיזוטרופיות ?
רמז :שטח האליפסות מתאפס בסמוך לקונפיגורציות הסינגולאריות ,וצירן הגדול מאונך
לכיוון הזרוע הרובוטית.
8.7
נתון
Microbot
הרובוט
(דגם
המרחבי
מדגם
RRR
מוקדם) .נתון
ונתון
L1=0
היעקוביאן שלו (למטה) המקיים את משוואה 1.0
כאשר
. F f x , f y , f z , M x , M y , M z
T
וקטורים Fמתאימים לווקטור
נתון?
מדוע?
(ב)
עבור
(א) כמה
1 , 2 , 3
T
קונפיגורציה
בה
L 2 3, L 3 2, 1 2 3 / 2כתוב את הקשר בין שני הוקטורים.
s1 (L 2 s 2 L 3s 23 ) c1 (L 2 c 2 L 3 c 23 ) L 3 c1c 23
c1 (L 2 s 2 L 3 s 23 ) s1 (L 2 c 2 L 3 c 23 ) L 3 s1c 23
0
(L 2 s 2 L 3s 23 ) L 3s 23
J
0
s1
s1
0
c1
c1
1
0
0
תשובה1 M z 2f x , 2 M x 2f z 3f y , 3 M x 2f z , :
בהינתן שתי מערכות קואורדינאטות מוזזות ומסובבות יחסית נוכל כמובן לאפיין את התזוזה
היחסית ביניהן באמצעות טרנספורמציה הומוגנית כפי שעשינו בפרק : 9,0
A R d 31
Z B ABT B
013 111 44
A
YB
A
R A X B
A
B
,
הטרנספורמציה ,Tאם כן ,מתארת את הקשר בין מיקומים בשני מערכות הקואורדינאטות.
נוכל לתאר גם את הקשר בין תיאור מהירות חלקיק בשתי המערכות .בכדי לקבל
ד"ר ניר שוולב
מבוא לרובוטיקה
טרנספורמציה מתאימה נחבר בדמיוננו שלשה מפרקים סיבוביים ושלשה מפרקים
פריזמטיים למערכת הראשונה כך שנוכל לקבל כל מיקום ואוריינטציה של המערכת השנייה
לעומת הראשונה .באופן זה כמובן נוכל לקבל את הטרנספורמציה באמצעות כתיבת
היעקוביאן לפי נוסחה : 9.9
d A Z B
A
Z B 66
d A YB
A
YB
d A X B
A
XB
ZB
A
YB
0
A XB
J
0
A
0
A
B
ולכן ,נוכל על פי משוואה 1.0לקבל את הקשר בין תיאור כוחות במערכת אחת ולבין התיאור
של אותם הכוחות במערכת שנייה . τ AB J T Fהשתמש בקשר זה לפתור את שתי הבעיות:
1.1
נתון הכוח המוכלל
F, MA 5,6,7,10,20,30
הפועל על מערכת אחת.
הטרנספורמציה בין מערכת זו למערכת אחרת נתונה להלן ,רשום את הביטוי לכוחות
במערכת השנייה.
0 1 20
0 0 30
1 0 0
0 0 1
0
1
A
BT
0
0
תשובהF, MB 6,7,5,160,60,200 :
8.9נתונות שתי הטרנספורמציות עבור רובוט RRמסויים:
0 1
0 2
;
1 3
0 1
0 1 10
1 0
1 0 20 1
0 1
;
T
2
0 0
1 0 10
0 0
0 0 1
1
0
0
T1
0
0
מפעילים על יחידת הקצה כוח מוכלל . F, M2 10,7,8,200,100,100מהם הכוחות
שמרגיש המפרק בבסיס הרובוט?
תשובהF, M1 8,10,7,73,205,62 :
1.63
עבור הרובוט RRPמדגם Unimateהנתון בתמונה,
ידוע כי משקלה של החוליה שבין שני המפרקים הסיבוביים
,m1משקלה של החוליה שבין המפרק הסיבובי השני למפרק
הפריזמטי ,m2משקלה של החוליה לאחר המפרק הפריזמטי
הוא ,m3ומשקלה של התפסנית ( .m4א) מצא את העומסים על
המפרקים כתוצאה מהמסה הראשונה( .ב) מצא את העומסים
על המפרקים כתוצאה מהמסה השנייה( .ג) מצא את העומסים
125
126
מבוא לרובוטיקה
ד"ר ניר שוולב
על המפרקים כתוצאה ממסת התפסנית( .ד) מצא את העומסים על המפרקים כתוצאה
מהמסות כולן.
תשובה( :א) הכוח המוכלל במפרק הראשון יהיה אפס (ב) הכוח המוכלל בשני המנועים
הראשונים יהיה F 0,L1s 2 m 2 g כאשר L1חצי אורך החוליה ששוקלת ( m2ג) הכוח
המוכלל בשלשת המנועים יהיה F 0,L 2 s 2 m 4 g, m 4 c 2
ד"ר ניר שוולב
מבוא לרובוטיקה
.6אנליזת קשיחות
לא לכל מכאניזם יש חיישנים למדידת המיקום המדויק של הקצה/התפסנית של המנגנון
באופן ישיר .במקרים אלה המיקום מחושב באמצעות הקינמטיקה הישירה ,שמבקרת את
ערכי המפרקים הממונעים .לאמור ,יש חשיבות לקשיחות של המבנה ,שתמנע תזוזה לא
רצויה במפרקים כתוצאה מכוחות סטאטיים ,כמו למשל המשקל העצמי של הרובוט .אף על
פי כן ,תמיד קיימת מידת "קפיציות" למכאניזם ויש להתחשב בה ,ומכאן החשיבות שבהבנת
מושג הקשיחות וחישובו.
נתון מכאניזם עם מפרקים ויחידת קצה .נניח שהמפרקים כולם נעולים ואינם נעים כלל .יחד
עם זאת ברור שיחידת הקצה תזוז ותסתובב קמעא בתגובה להפעלת כוח מוכלל Fעליה .אם
נסמן את וקטור ההזזה המוכללת הזו ב , Δxהקשיחות ( )Stiffnessתהיה המטריצה C 1
1
המקשרת בין השניים( . F C Δx :בספרות לעיתים מתייחסים למושג זה כאל קשיחות
יחידת הקצה – )End point Stiffness
במקרה החד ממדי מטריצת הקשיחות מתנוונת לכדי סקלאר .במקרה זה הדמיון למשוואת
הקפיץ אינו מקרי ,ואכן ,נוכל לחשוב על הקשיחות הסקלארית כעל "קבוע הקפיץ" של
המכאניזם .במקרה הלא מנוון מטריצת הקשיחות
מתארת את קבועי הקפיץ לכל כיוון העמסה
אפשרי של יחידת הקצה.
לאורך כל הדיון בקשיחות נשתמש במושג הזזות
מוכללות ,אשר בדומה למושג כוח מוכלל מאגד
תחתיו את התנהגות המפרקים הליניאריים
127
128
ד"ר ניר שוולב
מבוא לרובוטיקה
והסיבוביים יחד .בהתייחס למפרק פריזמטי תהיה הזזה מוכללת פשוט הזזה ליניארית ,בעוד
שכשנתייחס למפרק סיבובי הזזה מוכללת תתאר סיבוב ,כמתואר באיור.
עבור כל מפרק בנפרד ,בין אם מדובר במפרק סיבובי ובין אם במפרק ליניארי ,נוכל לנחש
שקיים קשר בין מידת הזזתו לבין הכוח הדרוש להזזה זו .אופיו המתמטי של הקשר קשה
לחזוי בדרך כלל ,ולמרות זאת ברור יהיה שככל שנזיז יותר כך נדרש לכוח גדול יותר .יהא
הקשר המתמטי אשר יהא לעולם נוכל לבצע ליניאריזציה ולקבל קשר ליניארי מקורב
מהאופי f i k i Δ x i :עבור מפרק ליניארי ו m j k j Δ j -עבור מפרק סיבובי.
הנחה :בכדי להקל על החישובים ומטעמים פרקטיים ,אנו מניחים שהחוליות עצמן קשיחות
לחלוטין (במילים אחרות ,נניח שהן אינן אלסטיות כלל) .והאלסטיות של המבנה כולו נובעת
מהאלסטיות במפרקים בלבד.
עבור רובוט נתון נוכל לרכז את הקשרים הללו למשוואה המטריצית:
)(9.1
k1
k2
K
k
n
;
τ KΔ Q
כאשר Qמסמן וקטור הזזות המפרקים הסיבוביים Δ jוהליניאריים . Δ xiוקטור
הוא וקטור המומנטים והכוחות שהמפרקים מרגישים.
על פי משוואה ( )3.0ידוע כי . τ J Fנציב במשוואה ( )6.6ונקבל , KΔ Q J T Fכלומר:
T
)(9.2
. K 1J T F ΔQ
dx
dQ
נזכור כי ע"פ משוואה ( )9.6ידוע
J
dt
dt
ונוכל לרשום את המשוואה
האינפיניטסימאלית . Δx JΔ Qנציב ל )6.9(-ונקבל:
)(9.3
Δx C F
1 T
C JK J
כאשר xמסמן את התזוזה המוכללת (תזוזות וסיבובים) של יחידת
הקצה ,ו F -את הכוחות המוכללים (כוחות ומומנטים) של יחידת
ד"ר ניר שוולב
מבוא לרובוטיקה
1 T
הקצה JK J .נקראת מטריצת הגמישות או ההיענות ( )Compliance Matrixומסומנת
באות .Cמטריצת הקשיחות מוגדרת כ-
1
)(9.4
S JK 1J T
ומתקיים הקשר . F S Δx
תרגיל :4.4נתון הרובוט שנדון בתרגיל ( .3.0א) רשום את הביטוי למטריצת הקשיחות שלו.
רשום את קשר הקשיחות( .ב) דון במצב הקשיחות בקונפיגורציות הסינגולאריות של הרובוט
בהן התפסנית על קו הבסיס (הקונפיגורציה שבאיור) .
תשובה( :א) על פי התוצאות שהתקבלו בתרגיל 3.0ידוע כי:
c1 L 3c 2 L 2 s 2 c1s 2
s1 L 3c 2 L 2 s 2 s1s 2
L 3s 2 c 2 L 2
c2
s1
0
c1
0
0
0
L 3s1s 2 s1c 2 L 2
L 3c1s 2 c1c 2 L 2
0
J
0
0
1
נחשב את המטריצה Kההופכית:
1
k 3
1
k2
1
k1
K 1
1 T
ונקבל את מטריצת הגמישות מהמכפלה , C JK Jזו מטריצה .6x6מטריצת הקשיחות S
תהיה המטריצה ההופכית לה ומתקיים הקשר . F S Δxבכדי להבין את הקשר נכתוב:
f S11 S12 x
m S 21 S 22
, xמייצגים את התזוזה הליניארית של יחידת הקצה והסיבוב שלה בהתאמהf , m .
מייצגים את הכוח ביחידת הקצה ,והמומנט בה בהתאמה .ולכן אם נתעניין בכוחות בלבד
נוכל להסתפק בחישוב תת המטריצה S11 S12 וכיו"ב.
129
מבוא לרובוטיקה
131
ד"ר ניר שוולב
L2
(ב) ראינו שקונפיגורציות סינגולאריות מתקבלות כאשר
L3
. tanθ 2 במצב זה יחידת
הקצה ניצבת בדיוק על ציר ( Zראה איור :פונה מעלה או מטה) .במצב זה הפעלת כוח בניצב
למישור המסומן באיור ,כלומר כוח שכיוונו , F s1 , c1 ,0תתנגד לקשיחות החוליות
T
בלבד ולכן , C F 0כלומר יחידת הקצה לא תזוז( .החישוב המפורש מייגע ומומלץ
להשתמש במנוע מתמטי כמו Mapleלביצועו).
תרגיל ( :4.5א) חשב את
היעקוביאן (ב) מצא את
עבור
הגמישות
מטריצת
המכאניזם שבאיור( .ג) מהן
הקונפיגורציות הסינגולאריות
של המכאניזם ומה יקרה
הקשיחות
מבחינת
בקונפיגורציות הללו ?
תשובה( :א) המכאניזם נקרא
פרללוגרם ) (Parallelogramוהוא בנוי משתי מקביליות .שימו לב שהמפרק השני ויחידת
ָּ
הקצה תמיד תהינה מקבילות לאדמה ולמעשה זו מטרתו של המכאניזם .תכונה זו מאפשרת
לנו לבחור את הזוויות כבתמונה ולכתוב את משוואות הקינמטיקה הישירה
ישירות x L1c1 L 2 c 2 ; y L1s1 L 2 s 2 :ולגזור אותן לקבלת היעקוביאן:
L 2s 2
L 2 c 2
L1s1
L1c1
x
2
y
2
x
J 1
y
1
(ב) נחשב את מטריצת הגמישות:
L 1 c1
L 2 c 2
L1s1
L 2 s 2
L 2 s 2 1/k 1
L 2 c 2
1/k 2
L1s1
C J K -1 J T
L1 c1
ד"ר ניר שוולב
מבוא לרובוטיקה
2
2
L1 s 1 c 2 L 2 s 2 c 2
k1
k2
2 2
2
2
L1 c1
L2 c2
k1
k2
L1 2 s 1 2 L 2 2 s 2 2
k1
k2
C
2
2
L 1 s 1 c1 L 2 s 1 c 2
k1
k2
(ג) כאשר הקונפיגורציה סינגולארית שתי הזוויות משתוות או משלימות ל . 6133המכאניזם
כולו מתיישר .במצב זה כוח בכיוון c1 , s1 Tלא יגרום כל תנועה ( Cc1 , s1 T 0הכוח
יתנגד לקשיחות החוליות ויפעל בכיוון האורכי שלהן).
תרגיל :4.6בשרטוט נתון הרובוט המרחבי .RPPנתונים ערך הקשיחות במפרק הסיבובי
) . k1 sin(1באיזו קונפיגורציה הגמישות מקסימאלית?
פתרון :מטריצת היעקוביאן נתונה מתרגיל
: 3.6
c1
s1
0
0
0
0
s1
c1
0
0
0
0
L 3s1 L 2 c1
- L 3c1 - L 2 s1
0
J
0
0
1
ולמעשה מפני שכל התנועה מתבצעת במישור נוכל להסתפק בשתי השורות הראשונות בלבד .
נחשב את מטריצת הגמישות : C J K J
T
-1
L 3s1 L 2 c1 - L 3c1 - L 2 s1 1
s1
c1
0
c1
s1
0
1
s1
1
k2
1
c1 k 1
s1
0
L 3s1 L 2 c1 s1
C - L 3c1 - L 2 s1 c1
1
0
בכדי לבחון מתי הגמישות מקסימאלית נחשב את הדטרמיננטה של מטריצת הגמישות.
מכיוון
1
s1k 2 k 3
שידוע
)det(AB) det(A) det(B
וכן
)det(A T ) det(A
נחשב
2
1
, det(C) det(J) det K כלומר ערך מקסימאלי מתקבל כאשר . 1 0,
131
מבוא לרובוטיקה
132
ד"ר ניר שוולב
תרגילים נוספים:
6.9הרובוט שבאיור שדנו בו בפרקים הקודמים מצוי בקונפיגורציה
בה , 1 0, 2 450ואורך המפרק הפריזמטי הוא חצי מטר.
מפעילים מומנט בשיעור של 6ניוטון מטר על התפסנית וכתוצאה
מכך התפסנית משנה את מיקומה אך אינה משנה את האוריינטציה
שלה( .א) מהי מטריצת הגמישות? (ב) בכמה ס"מ זז המפרק הסיבובי
האחרון בהשקעת אותו כוח על התפסנית אם ידוע כי ? k1=1
רמזC 3,3 1 / k 1 1 / k 3 :
6.5נתון רובוט RRמישורי וכן נתון .L1=L2=1,K2>>K1רצוי
למקם את התפסנית בנקודה . 1,1Tמצא את הקונפיגורציה
העדיפה מבחינת הגמישות בה כדאי להציב את הרובוט .הסבר
באמצעות תרשים כוחות פשוט.
6.9נתון הרובוט RPRשבאיור .חשב את מטריצת הגמישות שלו .הסבר את עמודת האפסים.
תשובה:
L 3 s1 L 2 c1
k1
- L 3 c1 L 2 s1
k1
0
0
0
1
k1
0
0
0
0
0
0
0
s1c1
k3
2
s1
k3
0
0
0
2
c1
0
k3
sc
0 1 1
k3
0
0
s1 c1
k2
- L 3 c1 L 2 s 1 L 3 s 1 L 2 c1
k1
2
- L 3 c1 L 2 s1 c1
k1
k2
0
0
0
- L 3 c1 L 2 s1
k1
6.3כתוב תוכנית Mapleעבור רובוט RRRשבאיור בו אורכי כל
החוליות 6מ' ,אשר מחשבת את (א) הקינמטיקה הישירה (ב)
היעקוביאן (ג) מטריצת הקשיחות בנקודות הסינגולאריות( .ד) מהן
הקונפיגורציות בעלות הקשיחות המינימאלית/מקסימאלית ביחס
לתזוזה בכיוון ,Xובכיוון .Y
L 3 s 1 L 2 c1 2 s 1 2
k1
k2
L s L c - L c L s
2 1
3 1
2 1
3 1
k1
0
C
0
0
L 3 s1 L 2 c1
k1
133
ד"ר ניר שוולב
מבוא לרובוטיקה
:)(ב,) הדרוש לפתרון (אMaple התחביר ב
אתחול
restart:
with(linalg):
קיצורים
alias(seq(c[i]=cos(t[i]),i=1..4), seq(s[i]=sin(t[i]),i=1..4)):
הגדרת מטריצת הטרנספורמציה כפונקציה של פרמטרי דנביט והרטנברג
M:=(a,alpha,d,theta) -> matrix(4,4,[cos(theta), -sin(theta)*cos(alpha),
sin(theta)*sin(alpha), a*cos(theta), sin(theta), cos(theta)*sin(alpha), cos(theta)*sin(alpha), a*sin(theta), 0, sin(alpha), cos(alpha), d, 0 ,0 ,0 ,1]):
M(a,alpha,d,theta);
הפרמטרים של דנביט והרטנברג
alpha:=vector([0,-Pi/4,0]):
a:=vector([a0,a1,0]):
d:=vector([0,a1,a3]):
theta:=vector([t1,t2,t3]):
הצבת הפרמטרים לתוך המטריצה
for i from 1 to 3 do
T[i]:=M(a[i],alpha[i],d[i],theta[i]);
end do
T01:=evalm(T[1]);
T02:=evalm(T[1]&*T[2]);
T03:=evalm(T[1]&*T[2]&*T[3]);
סימון להצגה יפה יותר
alias(c[123]=cos(t1+t2+t3), s[123]=sin(t1+t2+t3)):
T:=evalm(T03);
חישוב היעקוביאן
P:=subvector(T03,1..3,4);
J:=stackmatrix(augment(jacobian(P,t1,t2,t3),vector([0,0,0,1])), matrix(3,4, [ 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 0]));
החוליות בנויות. הנתונות במפרקיםK1 , K2 מישורי עם קשיחויותRR נתון רובוט6.1
(א) חשב את. נתוןE ובעלות מודול יאנג,פרופילים ריבועיים מלאים שמידותיהם נתונות
מקדמי הקפיץ עבור כל אחת מן החוליות (ב) חשב את מטריצת הקשיחות עבור הרובוט תוך
.התחשבות בקשיחות החוליות והמפרקים
134
ד"ר ניר שוולב
מבוא לרובוטיקה
.63מדדים
בפרקים הקודמים נגענו בקצרה במדד
האיזוטרופיות ליעילות העברת הכוחות
ברובוט עבור קונפיגורציה נתונה ,ובהעתקת
הכוחות .בספרות המקצועית נהוגים מספר
מדדים להערכת "טיב" או "יעילות"
קונפיגורציה או רובוט .בפרק זה נדון
בארבעה :מדד המניפולטיביות הקשור קשר
עבות עם תרגיל 1.9שדנו בו בפרקים ,1,3
מדד הרזולוציה (כושר ההפרדה) המתאר
את רזולוציית התנועה של התפסנית ,מדד
ההדירות ( )Repeatabilityהמתאר את
המידה בה ניתן לחזור ולמקם את התפסנית באותה נקודה ,והדיוק הכללי.
כזכור ,היעקוביאן מהווה העתקה ליניארית בין מרחבי המהירויות של המפרקים והמהירויות
של יחידת הקצה .ככל העתקה ליניארית כך גם היעקוביאן מעתיק ווקטורי יחידה ממרחב
המקור לווקטור במרחב המטרה .מידותיו של הווקטור במקרה של היעקוביאן מעיד על
יכולתה של יחידת הקצה לנוע לאותו כיוון.
הגדרה :נתון רובוט בקונפיגורציה qנתונה .המניפולטיביות ) (Manipulabilityשלו בנקודה
זו מסומנת ב M(q) -ומוגדרת כנפח האליפסואיד ,המתקבל ממיפוי מעגל יחידה של מהירות
qבמפרקים ע"י היעקוביאן . Jq
כפי שראינו בפרק ,9במקרה הכללי בו Jאיננה חייבת להיות ריבועית הביטוי למהירויות
המפרקים הוא , J x qכאשר = xמהירויות יחידת הקצה .אם נבחר את מהירויות
המפרקים להיות באורך יחידה (אוסף הווקטורים המרכיבים את כדור היחידה) ,כלומר
q T q 1
2
T
, qנוכל לרשום J x J x 1ובמפורש:
-1
x x T J T J x
-1
JJ T JJ T
-T
x x T JJ T
-1
T
x J T JJ T
JJ
T -1
T
J
כך קיבלנו ביטוי לאליפסואיד (השווה עם שאלה .)1.5בכדי לחשב את מדד המניפולטיביות
נרצה לחשב ,אם כן ,את נפחו .בכדי לחשב זאת נתמקד ראשית בקוביית יחידה
איניפיטיסמאלית המועתקת למקבילון תחת הטרנספורמציה הליניארית כמודגם באיור .נפח
האליפסואיד יהיה נפח המקבילון האיניפיטיסימאלי בנפח כדור היחידה המקורי שהועתק.
ד"ר ניר שוולב
מבוא לרובוטיקה
נפח המקבילון שצלעותיו q'1 , q' 2 , q'3יהיה שטח המקבילית q' 2 q'3המהווה את בסיס
המקבילון כפול גובה המקבילון ,ובסה"כ . q'1 q' 2 q'3 :נפח האליפסואיד הוא אם כן
4
3
. q'1 q' 2 q'3 לבסוף ,אם נזכור כי
a3
עבור מטריצה b 3
c 3
a2
b2
c2
a1
J b1הביטוי
c
1
לדטרמיננטה הוא . det J a b cנקבל כי הביטוי לנפח האליפסואיד (עד כדי הכפלה
בקבוע שתלוי במימד האליפסואיד בלבד) הוא:
Mq det J J T
)(10.1
עבור רובוט לא יתיר ,בו היעקוביאן ריבועי ,הביטוי מתנוון ל:
)Mq det(J
)(10.2
משוויון 63.9אפשר להבין שמדד המניפולטיביות מודד כמה קרובים אנו לסינגולאריות .ככל
ש M(q) → 0 -הקונפיגורציה קרובה יותר לסינגולאריות .נרצה ,כמובן ,להתרחק ככל הניתן
ממצב סינגולארי ובעזרת שיוויון 63.6נוכל לעשות כן ,ולתכנן את הרובוט כך
שהמניפולטיביות של הרובוט תהא מקסימאלית.
דוגמא :נתון הרובוט RRהמישורי ,מצא מהן הנקודות בהן המניפולטיביות של הרובוט
אופטימאלית.
L 2 s12
פתרון :נתון היעקוביאן :
L 2 c12
L s L 2 s12
. J 1 1נחשב את המניפולטיביות :כיוון
L1c1 L 2 c12
שהרובוט אינו יתיר ( 9מפרקים 9 ,מימדי תנועה) נוכל להשתמש בנוסחה ,63.9כלומר
L 2 s12
L 2 c12
L s L 2 s12
. det(J) det 1 1ניתן ,כמובן ,לבצע פעולות אלמנטריות על
L1c1 L 2 c12
135
136
ד"ר ניר שוולב
מבוא לרובוטיקה
המטריצה ,מבלי לשנות את ) .15det(Jלדוגמא ,על ידי חיבור העמודה השנייה לראשונה נקבל
ביטוי
פשוט
יותר
למניפולטיביות:
L 2 s12
L 2 c12
L1 s 1
det J det
L 1 c1
.
קיבלנו
, det J L1L 2 s 2כלומר המניפולטיביות אינה תלויה בזווית 1ומקבלת את המקסימום
שלה כאשר . 2 / 2אגב ,היד האנושית תואמת לחישוב שלנו -פרק היד שלנו נע סביב
( 63ºבין – 3ºל .)613º -יתר על כן ,נוכל להשתמש בחישוב זה בכדי לייצר אזור מקסימאלי של
מניפולטיביות אם נמקסם את הביטוי . M J L1L 2 s 2תחת ההגבלה (נניח) כי האורך
הכולל של הזרוע הוא בגודל יחידה ,כלומר M q , L1 L 2 1יהיה מקסימאלי אם
, L1 L 2ושוב -כך נהג הטבע בתכנון הזרוע
האנושית.
תרגיל :40.4נתון הרובוט RRRהמרחבי שבאיור
(ראה תרגיל ( :)1.3א) חשב את המניפולטיביות של
הרובוט ביחס למיקום התפסנית בלבד( .ב) מהי
הקונפי' האופטימאלית למניפולטיביות אם ידוע
שאורכי כל החוליות שוות יחידה?
פתרון :היעקוביאן נתון בביטוי:
s1 (L 2 s 2 L 3 s 23 ) c1 (L 2 c 2 L 3 c 23 ) L 3 c1c 23
J c1 (L 2 s 2 L 3 s 23 ) s1 (L 2 c 2 L 3 c 23 ) L 3 s1c 23
0
L 2 c 2 L 3 c 23 L 3 c 23
אנו נדרשים לחשב את המניפולטיביות ביחס למיקום התפסנית
בלבד ( 0דג"ח) .היות והרובוט הוא בעל מוביליות ,0
המניפולטיביות של הרובוט היא הדטרמיננטה של היעקוביאן:
M(q) det J L 2 L 3 L 3s 23 L 2 s 2 s 3
השתמשנו בזהות c 2 s 23 - s 2 c 23 s 3
וב-
(לקבלת
הביטוי
.) s 2 s 23 c 23c 2 s 3נשים לב שהביטוי
למניפולטיביות אינו תלוי בזווית , 1ולכן כדי למצוא את האופטימום נגזור את הביטוי לפי
L3c3 L 2
M
2ולפי L 2 L 3 L 3 c 2 3 L 2 c 2 s 3 0 : 3
.ומכאן
L 3s 3
2
. tg 2 השוויון
האחרון מעיד שהתנאי הראשון לקבלת המניפולטיביות המקסימאלית הוא שעל התפסנית
15כי
A B det A det B
detוכן
det c1 c 2 c 2 det c1 c 2 det c 2 c 2
ד"ר ניר שוולב
מבוא לרובוטיקה
137
להיות בגובה המפרק ( Aראה איור לעיל) .בכדי למצוא קונפיגורציה בעלת מניפולטיביות
אופטימאלית
נציב,
ראשית,
את
הביטוי
שקיבלנו
חזרה
ל
)M(q
לקבלת
. Mq L 2 2 L 3 2 2L 2 L 3 c 3 L 2 L 3 s 3כעת נוכל לגזור על פי 3ולקבל :
L 2 L 3sin 2 3
M
2
2
L 2 L 3 2L 2 L 3 c 3 L 2 L 3 c 3 0
2
2
3
L 2 L 3 2L 2 L 3 c 3
בהצבת L 2 L 3 1נקבל . 3 80 0
שימו לב :ראינו שעבור הרובוט RRהמישורי המניפולטיביות המקסימאלית מתקבלת כאשר
הזווית בין החוליות שווה ל ,633לעומתו הרובוט RRRהמרחבי בשאלה 63.6מתאפיין
במניפולטיביות מקסימאלית ב 133בין שתי החוליות הדיסטאליות ! כלומר הזווית 1משנה
את המניפולטיביות !
שאלה :40.5עבור הרובוט המרחבי ( RRRRא) השתמש בתוכנה
מתמטית כלשהי לחישוב המניפולטיביות שלו (בהתייחס למיקום
ואוריינטציה של התפסנית)( .ב) חשב את המניפולטיביות של הרובוט
3Rהמורכב משלושת המפרקים הסיבוביים האחרונים( .ג) מצא את
הקשר בין המדדים שחישבת .מה משמעותו ?
פתרון( :א) למעשה זהו הרובוט מתרגיל 63.6בתוספת מפרק סיבובי נוסף:
s1 (L 2 s 2 L 3 s 23 L 4 s 234 ) c1 (L 2 c 2 L 3 c 23 L 4 c 234 ) c1 (L 3 c 23 L 4 c 234 ) L 4 c1c 234
J c1 (L 2 s 2 L 3 s 23 L 4 s 234 ) s1 (L 2 c 2 L 3 c 23 L 4 c 234 ) s1 (L 3 c 23 L 4 c 234 ) L 4 s1c 234
0
L 2 s 2 L 3 s 23 L 4 s 234 L 3 s 23 L 4 s 234 L 4 s 234
על פי שוויון ,63.6המניפולטיביות תהא במקרה זה . Mq det J J T נסמן
a 1 L 2 s 2 L 3 s 23 L 4 s 234
a 2 L 3 s 23 L 4 s 234
a 3 L 4 s 234
b1 L 2 c 2 L 3 c 23 L 4 c 234
b 2 L 3 c 23 L 4 c 234
b 3 L 4 c 234
לחישוב המניפולטיביות השתמשנו במנוע המתמטי Mapleבאופן הבא:
138
ד"ר ניר שוולב
מבוא לרובוטיקה
restart:
with(linalg):with(LinearAlgebra):
קיצורים
alias(seq(c[i]=cos(t[i]),i=1..4), seq(s[i]=sin(t[i]),i=1..4)):
הגדרת מטריצת היעקוביאן
J:= Matrix((3,4),[[-sin(t1)*a1, cos(t1)*a1, cos(t1)*a2, cos(t1)*a3, cos(t1)*a1,
;)]]sin(t1)*b1, sin(t1)*b2, cos(t1)*b3,0,-a1,-a2,-a3
חישוב המניפולטיביות
;) JT:=Transpose(J
;))) M:=sqrt(simplify(Determinant(J.JT
והביטוי למניפולטיביות הוא:
Mq a 1 (a 1 b 2 a 1 b 3 a 2 b1 a 2 b 3 a 3 b1 a 3 b 2 2a 1a 2 b1b 2
2
2
2
2
2
2
2
2
2
2
2
2
2
) 2a 1a 3 b1b 3 2a 2 a 3 b 2 b 3
(ב) היעקוביאן המתאים הוא:
L c L 3 c 23 L 4 c 234 L 3 c 23 L 4 c 234 L 4 c 234
J' J1 0 2 2
L 2 s 2 L 3s 23 L 4 s 234 L 3s 23 L 4 s 234 L 4 s 234
ומחישוב Mq det J J T נקבל:
Mq a 1 b 2 a 1 b 3 a 2 b1 a 2 b 3 a 3 b1 a 3 b 2 2a 1a 2 b1 b 2 2a 1a 3 b1 b 3
2
2
2
2
2
2
2
2
2
2
2
2
2a 2 a 3 b 2 b 3
כדרוש .נשים לב שהביטוי למניפולטיביות הרובוט כולו היא מנת המניפולטיביות של שלשת
המפרקים הדיסטאליים בהיטל החוליות הדיסטאליות על מישור .Z
כלומר ,המניפולטיביות מתאפסת כאשר ההיטל מתאפס ,או אז
מאבד הרובוט את יכולתו לנוע לכיוון מסוים (לאן?)
שאלה :40.6עבור הרובוט ,מהן הקונפיגורציות בהן המניפולטיביות
(ביחס למיקום התפסנית בלבד) שלו מקסימאלית?
פתרון( :א) בתרגיל 9.9חישבנו את היעקוביאן בהתאם לדרישה.
בסעיף א' ניקח את שלשת השורות הראשונות בלבד ונחשב את
המניפולטיביות כדטרמיננטה של היעקוביאן.
ד"ר ניר שוולב
מבוא לרובוטיקה
c 1s 2
s 1s 2
- c 2
מדד המניפולטיביות יהיה:
- L 2 s 1s 2 L 1s 1
J L 2 c1 c 2 L1 c1
0
L 2 c1 c 2
L 2 s 1s 2
L 2s 2
. Mq L 2 s 2 L 2 L1 מכיוון שלא קיימת תלות בזווית , 1
M
2
ע"מ למצוא את האופטימום נגזור את הביטוי לפי , 2ונקבל L 2 c 2 0 :
2
.
כלומר 2 / 4 :
הערה :עבור רובוטים רבים 16המניפולטיביות המקסימאלית מתקבלת דווקא על שפת מרחב
העבודה ,וכיוון שכך מדד המניפולטיביות אינו מספק ויש לקבל את תוצאותיו בעין בוחנת.
שאלה :40.1עבור רובוט מדגם SCARAבעל 9דג"ח RRRPשנידון בשאלה :1.9מהן
הנקודות מהן יש להיזהר ? מהו המיקום הגיאומטרי של התפסנית ,ביחס למערכת הבסיס ,כך
שמשימה בנקודה זו תבוצע באופן הטוב ביותר משיקולים קינמטיים? בטא את משוואת
המיקום הגיאומטרי באמצעות שאר הפרמטרים של הרובוט.
פתרון :כפי שכבר ציינו היעקוביאן של הרובוט הוא:
0
0
1
0
0
0
L1c1 L 2 c12
L1s1 L 2 s12
0
0
0
1
0 L 2 c12
0 L 2 s12
0
0
J
0
0
0
0
1
1
הרובוט מסוגל לתנועה במרחב בתוספת סיבוב סביב ציר ,Z0ולכן החלק ביעקוביאן שמעניין
אותנו הוא:
0
0
1
0
L1c1 L 2 c12
L1s1 L 2 s12
0
1
0 L 2 c12
0 L 2 s12
J
0
0
1
1
16עבור רובוטים צילידריים ,אורתוגונאליים ,וכאלו בעלי מפרק פריזמטי בכיוון הרדיאלי.
139
מבוא לרובוטיקה
141
נקבל
. det J L1L 2 s 2מכאן ,שמצב סינגולארי יתקבל אם:
ד"ר ניר שוולב
2 0, ואלו הן
קונפיגורציות אליהן לא נרצה להגיע .הקונפיגורציות הרצויות לעומת זאת ,הן אלו בעלות
מדד המניפולטיביות המקסימאלי .נשתמש ב 63.9לקבלת התנאי
. 2 3/2, / 2
אחת המשימות העיקריות בתכנון מערכת רובוטית היא נושא בָּ ַקרתו (הספר אינו עוסק
בנושא) ,כלומר אופן פעולה שיבטיח הגעת התפסנית למקומה הרצוי .הקורא וודאי מבין
שבכדי לעמוד במשימה ,על בקר הרובוט להבטיח הגעת כל מפרק למקומו הרצוי .בכדי לעשות
כן ברור כי על הבקר להיות מעודכן בכל רגע במצבו של כל מנוע ומנוע ברובוט.
בכדי לאפשר זרימת נתונים כזו נהוג להציב על גבי המנועים מקודדים ()Encoders
17
– אלו
מסוגלים לקרוא את מצב המנועים (באופן אבסולוטי -כלומר קריאת זווית המנוע ,או באופן
יחסי למצבו הקודם – כלומר קריאת כיוון התנועה בלבד).
כפי שניתן להתרשם מדיאגראמת הבלוקים ,הנתונים על מצב המנועים זורמים לבקר ,זה
מעדכן את מצב הרובוט ,ובהתאם לאלגוריתם תנועה רצוי בוחר הבקר את מיקום התפסנית
הרצוי .באמצעות חישוב הקינמטיקה ההפוכה מחשב הבקר את מצב המנועים הרצוי .בקרת
כל אחד מן המנועים נעשית בחוג נפרד.18
דרישה מרכזית מרובוט ,אם כן ,היא יכולתו להגיע למיקום רצוי באופן מדויק .בכדי לכ ֵמת
יכולת זו נגדיר מספר מדדים:
17סוג מסוים של מנועים הקרויים מנועי סרוו ( )Servo Motorsמכילים מקודד ובקר עצמאיים .בחלקם אף ניתן
לקרוא את מצב המנוע באמצעות פוטנציומטר המאפשר קריאה מדויקת יותר.
18האלגוריתמים המקובלים לבקרת מנועים חשמליים מבוססים על הרעיון שבמידה ונוצר פער בין המיקום
הרצוי של המנוע ומיקומו האמיתי ,הבקר שולח פקודות תיקון למנועים במטרה למזער את . הבקרה על
המנועים מתבצעת במגוון שיטות מן הנפוצות שבהן נמנה ארבעה ( )6בקרת Bang Bangשמשמעותה שברגע
שהמנוע מגיע למקומו נשלחת פקודה להפסקת פעולתו ( )9בקר פורפורציונאלי ( )Pשהוראותיו למנועים
פרופורציוניות לשגיאה )0( בקר אינטגראלי ( ) Iשהוראותיו למנועים פרופורציוניות לאינטגרל השגיאות
בזמן )9( dtבקר דיפרנציאלי ( )Dשהוראותיו למנועים פרופורציוניות נגזרת השגיאות בזמן
. / tמקובל מאוד לשלב בין השיטות ,לדוגמא :בקר PIDמתבסס על סכימה של ( )0(,)9ו (.)9
ד"ר ניר שוולב
מבוא לרובוטיקה
הגדרה :רזולוציית מנוע ) (Motor Resolutionמוגדרת כתנועה המבוקרת הקטנה ביותר
שאותה יכול המנוע לבצע .רזולוציית המנוע נקבעת ע"י אלגוריתם הבקרה (מכונה לעיתים
רזולוציית התוכנה) ועל פי החומרה בה משתמשים לבקרתו (בעיקר המקודד והרכיבים
המכאניים ,זו מכונה לעיתים רזולוציית החומרה) .רזולוציות אופייניות עבור מפעילים
ליניאריים נעות בין עשיריות המילימטר למאיות המילימטר ,ואילו עבור מפעילים סיבוביים
עשיריות המעלה.
לדוגמא ,עבור מקודד אופטי למנוע סיבובי ,הפולט כ 6333 -פולסים בכל סיבוב ,תהא
רזולוציית החומרה של המנוע (בהנחה שאלגוריתם הבקרה אינו מגביל את הרזולוציה) כ-
.3.093
הגדרה :רזולוציית הרובוט ) (Robot Resolutionמוגדרת כתנועה המבוקרת הקטנה ביותר
שאותה יכולה התפסנית לבצע ,ומסומנת ב .)Basic Resolution Unit( BRUשימו לב
שתרומת מפעיל ליניארי לרזולוציית הרובוט אינה כתרומת מפעיל סיבובי .רזולוציות
אופייניות נעות בין עשיריות מילימטר למאיות מילימטר.
לבד מהאלגוריתמים של הבקרה עבור כל מנוע והחומרה בה משתמשים לבקרתם ,מושפעת
רזולוציית הרובוט גם מתופעת החזרה המכאנית ) .(Backlashתופעה זו מוגדרת כתזוזה לא
רצויה הנובעת מהחופשים המכאניים במפרקים (וכן בבממסרות ,בברגים מובילים
ובמפעילים שונים) ומגמישות החוליות.
שאלה :40.2נתון הרובוט משאלה .63.0לכל המנועים מחוברים מקודדים בעלי 6399פולסים
לסיבוב .בצירים הסיבוביים 6ו 9-מחוברת תמסורת הורדה 6:63בין המפרקים למנועים.
הציר הליניארי 0בנוי כבורג הנעה המחובר למנוע ,באופן בו כל 69סיבובי מנוע מניעים את
המפרק הליניארי בכ 6-מ"מ.
, L1 L 2 1500mmוהאורך המקסימאלי של המפרק
השלישי אף הוא . 1500mmמהי רזולוציית הרובוט ? כיצד תוכל לשפר אותה ?
תשובה :בצירים 6,9המקודדים מחוברים כאמור למנועים ואלו מחוברים באמצעות תמסורת
למפרקים .ולכן ,עבור כל סיבוב של המפרק יפלוט המקודד 1024 10 10,240פולסים.
המרחק המקסימאלי שעוברת התפסנית בסיבוב אחד של המפרק הראשון הוא
2L1 L 2
2L1 L 2 ולכן רזולוציית המפרק הראשון היא 1.8mm
10,240
2L 2
דומה התרומה לרזולוציה הנובעת מהמפרק השני היא 0.9mm
10,240
. R 1 באופן
. R 2 כאמור,
יחידת הקצה נעה לכל היותר מילימטר אחד בכל עשרה סיבובי מנוע ולכן רזולוציית המפרק
1
הליניארי היא 8 10 5 mm
1024 12
. R 3 שימו לב ש R 1 , R 2 R 3ולמעשה
141
מבוא לרובוטיקה
142
ד"ר ניר שוולב
זו האחרונה אינה תורמת לרזולוציה ,כפי שציינו בהגדרת כושר ההפרדה .הרזולוציה הכוללת
תהיה אם כן . R 1 2 R 2 2 R 3 2 2mmהדרישה האופיינית מרזולוציית הרובוט
היא מילימטר יחיד ,ובכדי לשפר את כושר ההפרדה נוכל )6( :להקטין את אורך החוליות ()9
להגדיל את רזולוציית המקודדים ( )0להשתמש בתמסורות 6:93עבור המפרקים .6,9
מהשאלה האחרונה מתבהר כי מדד כושר ההפרדה (=הרזולוציה) מתייחס למידת התנועה
המינימאלית במצב בו התנאים לכך הם הגרועים ביותר .לעיתים נתעניין בביטוי מדויק
למידת התנועה המינימאלית עבור קונפיגורציה מסוימת – כלומר כושר ההפרדה כתלות
בקונפיגורציה זו מכונה בספרות מפת הרזולוציה ):(Resolution Map
שאלה :40.6כתבו ביטוי למפת הרזולוציה עבור הרובוט המישורי .RR
תשובה :הקינמטיקה הישירה עבור הרובוט נתונה כ:
x L1c1 L 2c12
y L1s1 L 2s12
כושר ההפרדה של כל מנוע 1 , 2 ברובוט מרמז כי כל קונפיגורציה 1 , 2 ידועה עד
כדי 1 1 , 2 2 נבצע את ההחלפה ונקבל
) x L1c os(1 1 ) L 2c os(1 1 2 2
) y L1s in (1 1 ) L 2s in (1 1 2 2
3
נזכור ש .. -
, cos() 1 וכן ..
!2
!3
2
. sin() אם נשמיט את האיברים
מסדר גבוה נקבל אם כן,
x L1 c1 L 2 c12 L1 sin(1 )1 L 2 sin(1 2 )1 2
y L1s1 L 2s12 L1c os(1 )1 L 2 cos(1 2 )1 2
נשים לב שהתקבל למעשה הביטוי:
L 2s12 1
J 1
L 2c12 2
2
x - L1s1 L 2s12
y L1c1 L 2c12
והביטוי לרזולוציה עבור קונפיגורציה 1 ,2 מסוימת יהיה:
ד"ר ניר שוולב
מבוא לרובוטיקה
143
x 2 y2 L1 1 L2 1 2 212 2 L1L2 cos(2 )1 2 1
2
2
2
2
2
הדיוק הכולל של הרובוט ,מוגדר 19כיכולתו של רובוט למקם את יחידת הקצה שלו בנקודה
רצויה .הביטוי המתמטי נתון בנוסחה:
x
)(10.3
i
x
i
n
A
כאשר x i , xמציינים בהתאמה את מיקום
הרצוי אליו כיוונו את יחידת הקצה,
והמיקומים האמיתיים אליהם הגיעה
התפסנית בסדרת הניסויים.
nמציין את מספר הניסויים שנעשו למדידת
ההדירות .סדרת הניסויים מתבצעת כולה
תחת אותם תנאים.
הקורא הנאיבי יטען כי ערך מדד הדיוק הוא
כמחצית מדד הרזולוציה לכל היותר ,ולא
יטעה בהרבה (ראה איור) .בכדי לשכלל את
הגדרתו יש לכלול אי דיוקים מכאניים
ואחרים שמיד נגדיר ונכנה אותם בשם מדד
ההדירות .מדד הדיוק המלא מודגם אף הוא
באיור וכולל את החלק המדיד (מדד הרזולוציה)
ואת החלק הסטטיסטי .אנו זקוקים למדד
סטטיסטי (מדד ההדירות) המודד את טעויות
ההגעה של יחידת הקצה .במילים אחרות ,מדד
ההדירות מודד את יכולתו של הרובוט להגיע
לנקודה נתונה במרחב העבודה מספר רב של
פעמים.
הגדרה :מדד ההדירּות ) (Repeatabilityמוגדר
כממוצע סטיות יחידת הקצה ממיקומה הרצוי.
הביטוי להדירות ניתן בנוסחה:
19על פי הגדרת תקן .ANSI/RIA R15.05-1קיימת הגדרה חילופית לדיוק הכולל על פי תקן ISO 9283
144
ד"ר ניר שוולב
מבוא לרובוטיקה
x
i
x
i
)(10.4
n
R
כאשר x i , x, nמציינים בהתאמה את מספר הניסויים שנעשו למדידת ההדירות ,את ממוצע
המיקומים אליהם הגיעה התפסנית במהלך הניסוי ואת אוסף המיקומים האמיתיים אליהם
הגיעה התפסנית בסדרת הניסויים .סדרת הניסויים מתבצעת כולה תחת אותם תנאים.
הקשר בין המושגים נתון בנוסחה:
)(10.5
1
BRU R
2
A
הערה :מדד הדיוק תלוי בתנאי העמסה (לדוגמא ,ככל שזרוע הרובוט מתוחה יותר כך גדלים
המומנטים שחשים המפרקים ,ואיתם קטן מדד הדיוק) .מנגד ,מדד ההדירות כמעט ואינו
תלוי בהעמסה ולכן רוב יצרני הרובוטים מעדיפים לציין את ההדירות.
תרגילים נוספים:
11.7נתון חלק גלילי בקוטר . 20 00..31מהו הדיוק הדרוש מרובוט בכדי להציב את החלק
בדיוק בתוך חור גלילי בקוטר ? 2100..21
תשובה :על דיוק הרובוט להיות לפחות 3.0מ"מ.
11.8הוכח כי עבור רובוט לא יתיר הביטוי למניפולטיביות נתון כדטרמיננטה של מטריצת
היעקוביאן.
11.9התאם את הבאים ,נמק.
א .חוליות הרובוט גמישות
.1
מדד הדיוק גבוה
ב .המקודדים מחוברים למפרק ללא ממסר
.2
מדד דיוק נמוך
ג .הרובוט מצויד במערכת המזהה ישירות את
מיקום התפסנית
.3
הדירות ודיוק גבוהים
.4
הדירות גבוהה
ד .רובוט מקבילי
ד"ר ניר שוולב
מבוא לרובוטיקה
.66רובוטים מקביליים
רובוט מקבילי הוא כזה שאחת מהשרשראות הקינמטיות
שלו מחברת את יחידת הקצה חזרה לבסיס (ראה תמונה).
רובוטים מקביליים עדיפים על רובוטים טוריים שבהם
עסקנו עד כה ,מבחינת הקשיחות ,מיקום המפעילים ,ודיוק.
לדוגמא ,האקטואציה ברובוט שבתמונה (שמשמש לפעולות
אריזה מהירות במיוחד) נעשית כולה מבסיסו ,כלומר
המפעילים שולטים במפרק הראשון בלבד בכל זרוע .יתרה
מזאת ,כיוון שהעומס עליהם מתחלק בין מספר רגליים
ובדרך כלל העומס על הרגליים הוא צירי בלבד ,הרובוטים
רובוט מקבילי מסוג Delta
המקביליים מתוכננים לעמידה בעומסים גבוהים יותר.
רובוטים מקביליים הפכו לחלק בלתי נפרד (אם כי קטן יותר) ממערך הרובוטים במחקר
ובתעשייה .בין השאר ניתן למצוא רובוטים מקביליים לסימולטורים לטיסה ,מכאניזמים
תעשייתיים ,אפליקציות הדורשות דיוק רב (ראה לדוגמה רובוט רפואי של חברת Mazorראה
[ ]93ברשימת המקורות) ורובוטים בטכנולוגית .MEMS
מצד שני הרובוטים המקביליים קשים לבקרה ובעלי מרחב עבודה מצומצם יותר מאשר אלו
הטוריים .בפרק הנוכחי נעמוד על הקינמטיקה הישירה וההפוכה של רובוטים מקביליים,
ונעסוק במטריצת היעקוביאן שלהם .בגלל מורכבות החישוב רוב הדוגמאות בפרק תעסוקנה
ברובוטים מקביליים מישוריים.
נסכם את היתרונות והחסרונות של רובוטים מקביליים בטבלה הבאה:
יתרונות
חסרונות
העומס מתחלק על פני מספר רגליים.
יש להימנע מהתנגשות עצמית של חלקי הרובוט ,תופעה
שכמעט אינה קיימת עבור הרובוטים הטוריים לא יתירים.
דיוק וקשיחות גבוהים בהרבה מזרוע טורית.
מרחב העבודה הוא "בערך" החיתוך של מרחבי העבודה
של כל הזרועות .ולכן קטן יותר בדרך כלל מזה של הרובוט
הטורי.
בעיית הקינמטיקה ההפוכה פשוטה.
אפשרות לשש דרגות חופש ,אע"פ שהזרועות
קצרות ולכן ממדי הרובוט קטנים יותר.
אפשרות למקם את המפעילים בבסיס בלבד
ובאופן זה מומנט האינרציה ,כנגדו המפעילים
עובדים ,קטֵ ן.
בעיית הקינמטיקה הישירה קשה ורבת פתרונות.
145
146
ד"ר ניר שוולב
מבוא לרובוטיקה
הגדרה :רובוט ,שהשרשרת הקינמטית שלו מכילה לולאות סגורות נקרא רובוט מקבילי
).(Parallel robot
הערה :פרקטית ,רובוט מקבילי יהיה מורכב מפלטה נייחת ופלטה ניידת ,המחוברות ביניהן
ב K-זרועות .לשם פישוט הביטויים המתמטיים בדרך כלל בוחר המתכנן את שתי הפלטות,
כמישוריות .בכדי למנוע כפיפת הזרועות ככל שניתן המתכננים מעדיפים בד"כ מפרקי UוS-
בתכנון רובוט מקבילי.
הערה :משפחה נוספת של רובוטים מקביליים היא רובוטי חוטים או מריונטות
) . (Marionetteרובוטים אלו אוחזים בפלטפורמה הניידת באמצעות חוטים .יתרונם של
רובוטים כאלו היא במהירות תגובתם (מומנטי האינרציה של החוטים אפסי) .השוני העיקרי
מרובוטים מקביליים רגילים היא הצורך להבטיח מתיחות חיובית בחוטים.
רובוט מקבילי ,אם כן ,מכיל שרשראות סגורות כדוגמת מכאניזם nמוטות .מכאניזם כזה
הוא בעל n-3דרגות חופש .כלומר להנעתו דרושים n-3מנועים בעוד ששלשת הנותרים
נשארים פסיביים .יוצא מזה ,אפוא ,שכל רובוט מקבילי יכיל מספר מפרקים לא ממונעים.
ברובוט HEXAלדוגמא קיימים 61מפרקים ,אולם בכדי להפעיל את הרובוט דרושים רק 9
מנועים .נסמן את המפרקים האקטיביים בעזרת קו תחתון .פלטפורמת סטיוארט לדוגמא
תסומן כ .6UPS
דוגמא :הרובוט המקבילי 6UPSמסוג
Stewart's
( platformראה תמונה בפרק ראשון ואיור משמאל)
בנוי מפלטה ניידת ופלטה נייחת המחוברות ביניהן
באמצעות שש זרועות .כ"א מהזרועות בנויה ממפרק
קרדן פסיבי ,Bמפרק פריזמטי ממונע Cומפרק ספרי
פסיבי .Aהשרשרת (פלטה נייחת -זרוע א' -פלטה
ניידת -זרוע ב') מהווה שרשרת קינמטית סגורה.
נחשב את מספר המנועים הדרושים להפעלת רובוט מקבילי :מספר המנועים שווה כמובן
למוביליות (ראה פרק ראשון) של המכאניזם .כזכור:
)(1.2
M 6n -1 - g f i i
לכן עבור פלטפורמת סטיוארט נקבל אמנם:
614 - 1 - 6 6 6 2 6 1 6 3 6 6
p
s
u p s u
כאשר 69מציין את מספר החוליות במכאניזם (כל זרוע מכילה
9זרועות שמופרדות במפרק פריזמטי) .מהתוצאה מתברר
שאפשר להפעיל את ששת המנועים באופן בלתי תלוי ,ובעזרתם
ד"ר ניר שוולב
מבוא לרובוטיקה
אפשר לחולל מהירות זוויתית ומהירות קווית בששה מימדים בכל נקודה במרחב העבודה
(פרט לנקודות הסינגולאריות).
דוגמא נוספת :הרובוט המקבילי 6RUSמסוג ( HEXAאיור משמאל) בנוי מפלטה ניידת
ומפלטה נייחת המחוברות ביניהן באמצעות שש זרועות .כ"א מהזרועות בנויה ממפרק סיבובי
ממונע ,Cמפרק קרדן פסיבי Bומפרק ספרי פסיבי .Aסה"כ:
6 14 - 1 - 6 6 6 2 6 1 6 3 6 6
r
u
s
s
u
r
אם מספר דרגות החופש קטן מ ,9-בדומה למה שקרה עבור רובוטים טוריים ,ונרצה להזיז
את הפלטפורמה באופן מסוים ,נאלץ להסתדר עם תלות בלתי רצויה בתנועה.20
כפי שציינו קודם ,בעיית הקינמטיקה ההפוכה עבור רובוטים מקביליים פשוטה לפתרון:
בהינתן מיקום ואוריינטציה של הפלטפורמה הניידת נוכל לחשב בקלות את שיעורי נקודת
העגינה של כל הזרועות ,הן בפלטפורמת הבסיס והן בפלטפורמה הניידת ,ובעזרתן נוכל לקבוע
את הקינמטיקה ההפוכה לכל זרוע בנפרד .למרות האמור ,לרוב קיימות מספר דרכים לניסוח
הבעיות ההפוכה והישירה עבור רובוטים מקבילים ,ובכדי להקל על הפתרון יש לבחור כמובן
את הניסוח הנוח מביניהם .נדגים את פתרון בעיית
הקינמטיקה הישירה וההפוכה:
תרגיל 44.4נתון מכאניזם 9מוטות שבאיור עם המפרק
האקטיבי )6(. θ9חשב את המוביליות שלו ( )9רשום את
משוואות הקינמטיקה באמצעות קטיעה דמיונית של
המכאניזם למכאניזמים הבלתי תלויים הבאים)9.6( :
ללא קטיעה )9.9( .הקטיעה תתבצע במפרק שלוש)0( .
פתור את בעיית הקינמטיקה הישירה )9( .פתור את בעיית הקינמטיקה ההפוכה.
תשובה )6( :המוביליות של המכאניזם היא . F 3 n -1 - g f i i 34 -1 - 4 4 1 1
כלומר ,המכאניזם דורש מפעיל יחיד בעוד ששאר המפרקים פאסיביים )9.6( .בכדי לקבל את
משוואות האילוץ הקינמטיות נעקוב אחר מיקום המפרקים לאורך השרשרת הקינמטית
.12341באופן זה תתקבל מערכת המשוואות:
0 L1c os(1 ) L 2 c os(1 2 ) L 3c os(1 2 3 ) L 4
x:
) 0 L1 sin(1 ) L 2 sin(1 2 ) L 3 sin(1 2 3
y:
התקבלו שתי משוואות בנות שני נעלמים 2 , 3ופרמטר ידוע יחיד )9.9( . 1אם "נפרק" את
המכאניזם במפרק שלוש לשני מכאניזמים נפרדים – האחד מנגנון RRהכולל את חוליות 6ו-
20לשם דוגמא אם נרצה להזיז את הפלטפורמה בזווית ΔØסביב ציר Xניאלץ להזיז את הפלטפורמה גם סביב
ציר אחר.
147
148
ד"ר ניר שוולב
מבוא לרובוטיקה
,9והשני מנגנון Rהמורכב מחוליה שלוש בלבד -משוואות האילוץ הקינמטיות תבטחנה את
חיבורן של יחידות הקצה (של שני המנגנונים) בנקודה משותפת:
) L1c os(1 ) L 2 c os(1 2 ) L 4 L3c os(2 4
x:
) L1 sin(1 ) L 2 sin(1 2 ) L3 sin(2 4
y:
כיוון ש 1 2 3 4 2 -שתי מערכות המשוואות שהתקבלו זהות.
( )0נשתמש
במערכת השנייה .מהעלאה בריבוע וחיבור שתי המשוואות יתקבל:
) L1 L 2 2 L1L 2 c os(2 ) L 4 L3 2 L 4 L3c os(4
2
2
2
2
המשוואה שקיבלנו מתארת את השוויון במרחק מהראשית למפרק שלוש ,מחושב בשני
מסלולים :האחד דרך חוליות 6ו ,9-והשני דרך חוליות 0ו .9-נסדר את המשוואה ונקבל
) L L 3 L1 L 2 2 L1L 2 c os( 2
, c os( 4 ) 4ולכן אם נניח שהתפסנית ממוקמת
2 L 4 L3
2
2
2
2
במפרק השלישי ,פתרון הקינמטיקה הישירה יתקבל מהצבת הביטוי ל c os(4 ) -למשוואות
האילוץA1 c os(1 ) B1 sin(1 ) C1 0, A 2 cos(1 ) B2 sin(1 ) C2 0 :
כאשר:
A1 2 L 4 L1 2 L 4 L 2 c os( 2 ) 2 L 4 L 2
) B1 2 L 4 L 2 sin( 2
) C1 3 L 4 L 3 L1 L 2 2 L1L 2 c os( 2
2
2
2
2
) A 2 L 2 sin( 2
) B 2 L1 L 2 cos( 2
2
L 4 2 L 3 2 L1 2 L 2 2 2 L1L 2 c os( 2 )
1
2
L
L
4 3
C2 L3
A1C 2 A 2 C1
ומכאן נקבל :
. 1 2 tan 1 ולבסוף ,הביטוי למיקום
B1C 2 B 2 C1 A1B 2 A 2 B1
התפסנית נתון בביטוי:
) x L1c os(1 ) L 2 c os(1 2
) y L1 sin(1 ) L 2 sin(1 2
ד"ר ניר שוולב
מבוא לרובוטיקה
( )5בהנחה שיחידת הקצה ממוקמת במפרק השלישי ונתון מיקומה , x, y שיעורי הזווית 2
יקבעו בפשטות על ידי משפט הקוסינוסים . L12 L 2 2 2 L1L 2 c os(2 ) x 2 y 2
תרגיל :44.5נתון הרובוט המישורי 3RRRעם זוויות ( θ)iבמפרקים האקטיביים(.א) חשב את
המוביליות שלו( .ב) פתור את בעיית הקינמטיקה ההפוכה( .ג) נסח את בעיית הקינמטיקה
הישירה.
תשובה( :א) המוביליות של הרובוט נתונה באמצעות
נוסחות :Gruebler
38 1 9 9 1 3
(ב) נתונים מיקום (נניח של מרכז הפלטפורמה)
ואוריינטציה של הפלטפורמה . x, y, דרושים ערכי
המפרקים האקטיביים (.θ)i
נסמן ב b(1), b(2), b(3) -את מיקומי נקודות העגינה של
הזרועות על הפלטפורמה הניידת .כאשר ) b(iנתונים במערכת הפלטפורמה הניידת ' ,Oולכן
במערכת העולם (מערכת )Oיהיה הווקטור ) ,0b(i)=Rz(θ)∙b(iכאשר ) Rz(θמטריצת הסיבוב
של הפלטפורמה .כעת ,אם נסמן ב B(1) ,B(2) ,B(3) -את ווקטורי המיקום של מפרקי הבסיס
של שלושת הרגליים ,וב P-את מיקום מערכת צירים ' , Oנקבל כי
R Z b i P Bi
הוא המרחק בין מפרק הבסיס למפרק העגינה ברגל ה-i-ית .וכמובן ,ידוע הקשר:
) R Z θ b i P Bi L 2 L1 - 2L1L 2 cos θ (i
2
2
כאשר ) θ(iהזוויות בין שתי חוליות ברגל ה-i-ית ,ו L1 , L 2 -אורכי החוליות הפרוקסימאליות
והדיסטאליות .מכאן ניתן למצוא בקלות את ).θ(3) ,θ(2) ,θ(1
(ג) נתונים ערכי המפרקים האקטיביים {( .}θ)iדרושה האוריינטציה θוהמיקום של
הפלטפורמה .לשם פשטות ,במקום לחפש את Pוהאוריינטציה מפורשות ,נסתפק במיקום
נקודות העגינה ) 3b(1), 0b(2), 0b(3במערכת העולם .Oנרשום את שלשת המשוואות:
i 1,2,3
) b i Bi L 2 L1 - 2L1L 2 cos θ (i
2
2
0
149
מבוא לרובוטיקה
151
ד"ר ניר שוולב
ובנוסף ,אם Lיציין את אורך צלע הפלטפורמה הניידת נקבל את שלשת המשוואות:
i j 1,2,3
b i b j L
i
0
התקבלו 9משוואות ריבועיות בלתי תלויות (עם ששת הנעלמים שהם שיעורי Xו Y-של . b
מכיוון שכל בחירה של ערכי המפרקים יכולה להתבטא במרפק עליון או מרפק תחתון,
ולרובוט שלש רגליים ,לכל היותר יהיו לרובוט 1פתרונות לקינמטיקה הישירה.
בעיית הקינמטיקה הישירה עבור רובוטים מקביליים מערבת ,לרוב ,מערכת משוואות
ריבועיות קשה לפתרון ,ובדרך כלל נאלץ להסתפק בפתרונות נומריים איטראטיביים ,כפי
שניווכח בשאלה הבאה:
תרגיל :44.6הרובוט 3RPSהמרחבי שבאיור הוא בעל
שלוש רגליים .כל רגל חופשית להסתובב על גבי מפרק
סיבובי פסיבי שקבוע בבסיסה .צירם של שלשת
המפרקים הסיבוביים שבבסיס הרובוט מאונכים לקו
המרחק שלהם מראשית הצירים (הקווים המקווקווים
שבאיור) .זווית כל רגל ביחס למישור הבסיס מסומנת ב-
. iהמפרק המרכזי בכל רגל הוא מפרק פריזמטי
אקטיבי ואורכו . L1 , L 2 , L 3כל רגל מחוברת בקצה לפלטה ניידת באמצעות מפרק סיבובי
פסיבי( .א) כמה דרגות חופש לרובוט? (ב) רשום את משוואות האילוצים הקינטיים( .ג) פתור
את בעיית הקינמטיקה הישירה.
תשובה (א) המוביליות של הרובוט ( F 6n - 1 - g f i i 68 - 1 - 9 3 3 9 3ב)
לשם מעקב קל אחר הפתרון זכרו כי הסימון R
A
B
מתייחס למטריצת הסיבוב המתארת את
מערכת Bבמערכת קואורדינאטות .Aכמו כן נסמן את מיקום נקודה Pבמערכת צירים A
ב( A P -ראה פרק .)9
נצמיד שתי מערכות צירים :האחת Bx, y, z למרכז בסיס הרובוט התחתון ,והשנייה
Pu, v, w למרכזה של הפלטפורמה הניידת .עבור הפלטה התחתונה נסמן את נקודות
החיבור ב( B1 , B2 , B3 -כתובות במערכת ) Bx, y, z כבאיור ,ונניח שמרחקן מהראשית
Bx, y, z הוא bכבאיור .הביטוי לנקודות אלו נתון ב:
ד"ר ניר שוולב
מבוא לרובוטיקה
B1 b1,0,0
T
T
b
1, 3 ,0
2
T
b
B3 1, 3 ,0
2
B2
נסמן את מיקום נקודות החיבור לפלטה הניידת ב( P1 , P2 , P3 -כתובות במערכת ) Pu, v, w
כבאיור .הביטוי לנקודות אלו ביחס למערכת Bx, y, z נתון ב:
P1 b L1c1 ,0, L1s1
B
L c b 3 b L 2 c 2
P2 2 2
,
, L 2s 2
2
2
B
L c b 3 L 3c3 b
P3 3 3
,
, L 3s 3
2
2
B
T
T
T
אם נניח שמרחקן אחת מהשנייה הוא pנוכל לרשום את מערכת המשוואות:
P P p
P P P P p
P P P P p
B
2
2
2
3
2
B
B
1
B
1
B
2
B
P1 B P2
3
B
3
B
1
B
2
B
B
3
זו מערכת משוואות הכתובה בשישה משתנים :שלשה פאסיביים 1 , 2 , 3ושלשה
אקטיביים . L1 , L 2 , L 3נפתח את שלושת המשוואות ונקבל:
3 3b 2 L1 L 2 L1L 2 c1c 2 2L1L 2s1s 2 3L1c1 3L 2 c 2 0
)(1
3 3b 2 L1 L 3 L1L 3c1c3 2L1L 3s1s 3 3L1c1 3L 3c3 0
)(2
3 3b 2 L 2 L 3 L 2 L 3c 2 c3 2L 2 L 3s 2s 3 3L 2 c 2 3L 3c3 0
)(3
2
2
2
2
2
2
(ג) הקינמטיקה הישירה מוגדרת כמציאת מיקום ואוריינטציית הפלטה Pכתלות בערכי
המפרקים האקטיביים . L1 , L 2 , L 3נפתור את מערכת המשוואות ( )6-0בשיטת האלימינציה
של סילבסטר (ראה נספח א').
מטרתנו הראשונית תהיה לפתור את מערכת המשוואות
באופן שיאפשר למצוא את 3כתלות ב . L1 , L 2 , L 3
בכדי לבצע אלימינציה למשתנה 1נשכתב את המשוואות ( )6ו )9(-באופן הבא:
151
152
ד"ר ניר שוולב
מבוא לרובוטיקה
A1c1 B1s1 C1 0
A 2 c1 B2s1 C 2 0
כאשר
, A1 L1L2c2 3L1
, B1 2L1L2s 2
, C1 3 3b 2 L12 L2 2 3L2c 2
B2 2L1L3s3 , A 2 L1L3c3 3L1ו. C2 3 3b 2 L1 L3 3L3c3 -
2
כעת נציב
1 tan 1
2
ולכן
21
2
1 1
, sin 1
2
1 1
cos 1
2
1 1
2
ו-
ונקבל
:
Ai Ci 12 2Bi 1 Ai Ci 0עבור i=1,2מטריצת סילבסטר תהיה:
A1 C1
0
A 2 C 2
0
התנאי
של
A1 C1
2B1
2B1
A 2 C2
2B 2
A1 C1
2B 2
A 2 C2
סילבסטר
A1 C1
0
S
A C2
2
0
לקיום
יהא . det S A1C2 - A 2C1 2 - B1C2 - B2C1 2 + A1B2 - A 2 B2 2 0
פתרון
משוואה
הדטרמיננטה מערבת כמובן את המשתנים . 2 , 3
כעת ,נבצע שוב הצבת tanחצי זווית עבור הזווית . 2נשכתב את המשוואה ונקבל פולינום ב-
. 2 tan2 / 2מקדמי פולינום זה יהיו פונקציות של 3 , L3ו . L1 -בכדי לחלץ את 3
נזדקק לפולינום נוסף ב 2עם מקדמים שהם פונקציות של 3 , L3ו . L1 -בכדי לקבל את
הפולינום נשכתב את משוואה ( )0עם המשתנה , 2 tan2 / 2מקדמי פולינום זה יהיו
פונקציות של 3 , L3ו. L1 -
התקבלו ,אם כן ,שתי משוואות ב 2 -עם מקדמים שהם פונקציות של 3 , L3ו . L1נכתוב
את מטריצת סילבסטר .נשווה את הדטרמיננטה שלה לאפס לקבלת משוואה פולינומיאלית
מדרגה 211ב . 3 tan3 / 2 -על פי משפט גלואה 22אין אפשרות לפתור את המשוואה באופן
אנליטי .עם זאת ,נוכל בודאי לפתור באופן נומרי את הדרוש .נוכל לעשות כן גם עבור . 1 ,2
21הביטויים למקדמי הפולינום ארוכים מדי להצגה .בפתרון בעיות מסוג זה מומלץ להשתמש בתוכנה מתמטית
סימובלית כ.Maple-
22ווריסט גלואה Évariste Galoisמתמטיקאי צרפתי בן המאה ה 66-ממייסדי תורת החבורות ומייסדה של
תורת גלואה .מצא את מותו בדו קרב בעודו בן 93לאחר שורה של תגליות (שקנו לו שם רק לאחר מותו) .הרקע
לסכסוך היה ככל הנראה רומנטי .תרומתו העיקרית של גלואה הייתה הוכחה כי במקרה הכללי משוואות
מבוא לרובוטיקה
כעת,
ד"ר ניר שוולב
בהינתן ערכי הזווית 1 , 2 , 3כתלות ב L1 , L 2 , L 3 -נוכל למצוא את המיקום
והאוריינטציה של Pע"י הצבה בנוסחאות ל . B P1 ,B P2 ,B P3 -מיקום מרכז הפלטה הוא כמובן
. B P1 B P2 B P3 / 3את האוריינטציה נקבל ע"י בחירה בווקטור u B P1 B P2כווקטור
בסיס ,ווקטור בסיס נוסף (מאונך ל ) u -יהיה . v u B P1 B P3 ולבסוף ,הווקטור המאונך
ל u -ול v -יהיה . w u vסה"כ מטריצת האוריינטציה שהתקבלה תהיה:
w
w
u
u
v
v
R
P
B
נעבור כעת לעסוק בליניאריזציה לרובוטים מקביליים .אם נזכור שעבור רובוטים טוריים
QOUT q1 , q 2 ,..., q n מסמן את
משוואת האילוץ היא , QOUT FQin כאשר
T
קואורדינאטות התפסנית המוכללות (סיבוביות או לינאריות( ו QIN 1 , 2 ,..., m -את
T
ווקטור הקואורדינאטות המוכללות (סיבוביות או לינאריות( בכניסה .כלומר ,זוהי מערכת
משוואות מהצורה qi Fi 1 , 2 ,..., m עבור . 1 i nגזירה לפי הזמן תניב את השוויון:
)(6.2
F Q IN
Q
JQ
OUT
IN
Q IN t
כידוע Jהיא כידוע מטריצת היעקוביאן ומפורשות:
F1
1
m t
2
t
Fn m
m t
F1
2
dq1
F
dt 1
dq
2 1
dt F2
1
Fn
dq
n 1
dt
עבור רובוטים מקביליים הכתיבה המפורשת של קואורדינאטות התפסנית כתלות
בקואורדינאטות המפרקים קשה ובדרך כלל גם בלתי אפשרית .יחד עם זאת נוכל לכתוב את
הקשר בין הווקטורים באופן סתום .נסמן כעת ב QOUT q1 , q 2 ,..., q n -את אוסף כל
T
הקואורדינאטות במפרקים הפסיביים (סיבוביות או לינאריות(
,אלו למעשה
פולינומיאליות ממעלה חמישית ומעלה אינן ניתנות לפתרון בנוסחה שמערבת שורשים ,ואפיון התנאים למקרים
בהם הדבר כן ייתכן.
153
154
ד"ר ניר שוולב
מבוא לרובוטיקה
הקואורדינאטות של יחידת הקצה .23נסמן בQIN 1 , 2 ,..., m -
T
את ווקטור
הקואורדינאטות המוכללות האקטיביות (סיבוביות או לינאריות( .משוואת האילוץ הסתומה
FQin , QOUT 0
למעשה
תהיה
מערכת
של
n
סתומות
משוואות
Fi 1 , 2 ,..., m , q1 , q 2 ,..., q n 0עבור . 1 i n
כעת,
באופן
דומה
שעשינו
למה
עבור
הרובוטים
F Qin
F Qout
0
Qin t
Qout t
ובכתיב מטריצי נקבל:
)(11.1
J Q
0
J in Q
in
out
out
הטוריים,
נבצע
גזירה:
כלומר ,קיבלנו שתי מטריצות יעקוביאן:
F1
q n
Fn
q n nn
)(11.2
F1
q 2
F1
q1
F2
q1
Fn
q
1
F1
m
,
Fn
m nm
J OUT
F1
2
F1
1
F2
1
Fn
1
J IN
נעיר :היעקוביאן J OUTיהיה תמיד מטריצה ריבועית .בדומה למקרה הרובוטים הטוריים,
היעקוביאנים
J OUT , J INיהיו תלויים בכל המשתנים המגדירים את הקונפיגורציה
. 1 , 2 ,..., m , q1 , q 2 ,..., q n T
הגדרה :לאור משוואה ( )66.9נוכל להגדיר מספר סוגי סינגולאריות )(Singularity types
עבור רובוט מקבילי:
.I
.II
.III
J INאינה בדרגה מלאה.
J OUTאינה בדרגה מלאה .כיוון שזו 24מטריצה ריבועית היא סינגולארית.
J OUT , J INשתיהן אינן בדרגתן המלאה.
v Qהמקיימים . J IN v 0כלומר ,קיים
עבור סינגולאריות מסוג ,Iקיימים ווקטורים
IN
צירוף 0 של מהירויות במפרקים הפסיביים אשר רגעית לא יגרום למהירות ביחידת הקצה.
23המקרה הכללי ,בו אנו מכריזים רק על מספר מצומצם של קואורדינאטות פסיביות כעל קואורדינאטות יחידת
הקצה ,מטופל באופן מעט שונה ב ]96[-וב [.]99
24במקרה בו אנו מכריזים רק על מספר מצומצם של קואורדינאטות פסיביות כעל קואורדינאטות יחידת הקצה,
המטריצה הזו לא תהיה ריבועית.
ד"ר ניר שוולב
מבוא לרובוטיקה
u Qהמקיימים , J OUT u 0כלומר קיים
בסינגולאריות מסוג ,IIקיימים ווקטורים
OUT
צירוף 0 של מהירויות ביחידת הקצה ,אשר רגעית לא יגרור מהירות במפרקים
האקטיביים .סינגולאריות מסוג IIIתיווצר כאשר שני סוגי הסינגולאריות יקרו יחדיו.
הערה :באופן זהה למושג הסינגולאריות ברובוטים טוריים ,נשים לב שההתייחסות שלנו היא
למהירויות ולתנועה רגעית בלבד .יטען הקורא הנאיבי בטעות שאם (לשם הדוגמא) המהירות
ביחידת הקצה מתאפסת (סינגולאריות מסוג )Iהיחידה תהיה "תקועה" כי הרי אינה יכולה
להתקדם ! טעותו נעוצה בעובדה שאמנם הנגזרת הראשונה של המיקום מתאפסת (המהירות)
אבל לא קיימת ערובה לכך שהנגזרת השנייה והבאות אחריה מתאפסות .אלו בתורן יגרמו
לתזוזה המיוחלת ,שכן פיתוח טיילור למיקום נתון כידוע כ-
x0
t ..
2
תרגיל :44.6עבור רובוט ארבעה מוטות שדנו בו בתרגיל ,66.6מצא את מטריצות היעקוביאן,
. xt x 0 x 0t
אם מגדירים את 1כמפרק האקטיבי ,בעוד ש 2 ,4 -הם המפרקים הפסיביים.
תשובה :בתרגיל 66.9מצאנו את הקשר:
F1 (1 , 2 , 4 ) L1c os(1 ) L 2c os(1 2 ) L 4 L3c os(2 4 ) 0
F2 (1 , 2 , 4 ) L1 sin(1 ) L 2 sin(1 2 ) L3 sin(2 4 ) 0
נגזור את המשוואות האלו על פי שוויון (: )66.9
F1 F1
1 1 L1 sin(1 ) L 2 sin(1 2 )
F2 F2 L1 cos(1 ) L 2 cos(1 2 ) 21
1 1
F1
4 L 2 sin(1 2 ) L3 sin(4 )
F2 L 2 cos(1 2 ) L3c os(4 )
22
4
F1 F1
q 2 2
F2 F2
q 2 2
J IN
F1
q
1
F2
q
1
J OUT
ומשוואה ( )66.6תהא:
L1 sin(1 ) L 2 sin(1 2 ) L 2 sin(1 2 ) L3 sin(4 ) 2
1
L1 cos(1 ) L 2 cos(1 2 )
L 2 cos(1 2 ) L3c os(4 ) 4
שימו לב שמהירותה של חוליה (ראה איור) הקבועה
לאדמה באמצעות מפרק סיבובי ומיקום קצהָּ בv -
נתון כ , v v -כאשר v מסמן ווקטור
155
156
ד"ר ניר שוולב
מבוא לרובוטיקה
מאונך ל( v -תרגיל .)66.66מחד ,עבור המרחב התלת ממדי v אינו מוגדר כראוי,
ולמעשה פורש תת מרחב ווקטורי בן מימד אחד .מאידך ,עבור המרחב הדו ממדי v
מוגדר היטב .הבחנה זו מקלה במקרים רבים על האנליזה של רובוטים מקביליים מישוריים
כפי שנראה בתרגיל הבא:
תרגיל :44.8נביט ברובוט המישורי הבא ,שבו
הפלטפורמה התנוונה לכדי נקודה (הרובוט מכונה
.(Arachnoid
בספרות
נסמן
את
הווקטורים
L0i , L1i , L2i כווקטורים מהראשית לבסיס הרגל ה-
, iמבסיס הרגל ה i -למפרק השני ומן המפרק השני
של הרגל ה i -ליחידת הקצה המרכזית ,בהתאמה.
(א) מצא את הקשר הליניארי בין מהירויות הכניסה
במפרקים האקטיביים 11 , 12 , 12 לבין מהירות
יחידת הקצה( .ב) מהן הקונפיגורציות הסינגולאריות של הרובוט ?
תשובה( :א) נחבר את הווקטורים עבור כל רגל מהראשית הנייחת Oלבסיס הרגל ,ומשם
למפרק השני וליחידת הקצה .נקבל את מערכת המשוואות הווקטורית:
P L01 L11 L21
P L02 L12 L22
P L03 L13 L23
כאשר
P x, y
T
מיקום יחידת הקצה .זהו ייצוג ווקטורי למשוואת האילוץ
. FQin , QOUT 0נשים לב שכיוון שאנו מעוניינים במיקום הנקודה בלבד (אין לה
אוריינטציה) לא נקבל J OUTריבועית.
Li
L1i
אם נגזור את משוואת האילוץ על פי הזמן נקבל L1i 1i , 0 0 :
t
t
ובסה"כ:
)(1) (1
) (1
) (1
)p L(1
) 1 θ1 L 2 (θ1 θ2
) )p L(1)θ (1) L(1) (θ (1) θ (1
2
) θ (1
) 2
1
2
) (1
)L(1
2 (θ1
1
1
) (1
)L(1
1 θ1
p
ו-
ד"ר ניר שוולב
מבוא לרובוטיקה
אנו מעוניינים בקשר הליניארי שבין מהירויות הכניסה במפרקים האקטיביים
11 , 12 , 12 לבין מהירות יחידת הקצה .נזכור ש v v 0לכל וקטור
v
ולכן בכדי
"להפטר" מ 2i -נכפיל את המשוואה ב L2i -וקטורית ונקבל:
L21 P L21 L11 11
L22 P L22 L12 12
L23 P L23 L12 12
ובכתיבה מטריציונית קיבלנו:
1
1
12
L23 L12 12
33
0
0
0
2
L 2 L12
0
L1 L1
L21
2 x 2 1
0
L 2
L3 y
0
2 32
התקבל הקשר 66.6כדרוש( .ב) הקונפיגורציות הסינגולאריות
מסוג Iיתקבלו כאשר המטריצה J INבעלת דרגה לא מלאה,
כלומר כאשר L2i L1i 0עבור לפחות אחד מה, 1 i 3 -
כלומר כאשר לפחות אחת מהרגליים מיושרת . L2i || L1i
הקונפיגורציות הסינגולאריות מסוג IIיתקבלו כאשר מטריצה
J OUTבעלת דרגה לא מלאה ,כלומר כאשר L2i || L2jעבור שתי
רגליים i jלפחות ,וכיוון שהחוליות הדיסטאליות האלו
מחוברות בנקודת הקצה המשמעות
של התנאי היא ששתי הרגליים
מצויות על קו ישר יחיד.
הקונפיגורציות הסינגולאריות מסוג IIIיתקבלו כאשר שני
התנאים מתקיימים יחדיו ,כלומר כאשר שתי רגליים מיושרות
מצויות על קו ישר יחיד.
תרגיל :44.7עבור הרובוט המקבילי המישורי 3RRRשבאיור ,רשום את קשר המהירויות
הליניארי.
157
מבוא לרובוטיקה
158
ד"ר ניר שוולב
תשובה :המיקום של מרכז הפלטפורמה והאוריינטציה
של הפלטפורמה יסומנו ב . x, y, -ידוע שהמפרקים
האקטיביים
הם
), (1) , ( 2) , (3
ושהמפרקים
) (1) , ( 2) , (3פסיביים .נסמן ב b(1), b(2), b(3) -את
מיקומי נקודות העגינה של הזרועות על הפלטפורמה
הניידת ,כאשר ) b(iנתונים במערכת הפלטפורמה
הניידת ' .Oנסמן ב A (1) , A ( 2) , A (3) -את הווקטורים מבסיס הרגליים למפרק השני .ולבסוף
נסמן ב B(1) , B( 2) , B(3) -את הווקטורים מהמפרק השני למפרק השלישי .אם ללא הגבלת
הכלליות נמקם את ראשית הצירים בבסיס הרגל הראשונה ,משוואות האילוץ תהיה
מהצורה:25
) A (1) B(1
)x, yT b (1
לאחר גזירה לפי הזמן נקבל:
x , y T b (1) (1) A (1) (1) B(1)
בכדי "להפטר" מהאיברים המכילים את ערכי המפרקים הפסיביים ) (1) , ( 2) , (3נכפיל את
המשוואה ב ) B (1ונקבל:
T
)B(1) x , y B(1) b (1) (1) B(1) A (1
הצורה 66.6שהתקבלה היא:
1
0
1
12
0
B (3) A ( 4) 12
33
0
)( 2
)B A ( 2
0
)B (1) b (1) x B (1) A (1
B ( 2) b ( 2) y
0
( 3) ( 3)
B b
0
33
) B (1
) B ( 2
) ( 3
B
25שתי המשוואות המתארות את השרשראות הקינמטיות של הרגל השנייה והשלישית תהינה זהות,
לבד מווקטור מיקום הבסיס שיתווסף לצד שמאל של המשוואה .אך מכיוון שפעולת הגזירה תאפס
את האיבר הנוסף ,נוותר על כתיבה מפורשת של שלשת המשוואות.
ד"ר ניר שוולב
מבוא לרובוטיקה
הקונפיגורציות הסינגולאריות מסוג Iשל הרובוט תהיינה (בדומה לתרגיל )66.3קונפיגורציות
בהן אחת הרגליים מיושרות.
הקונפיגורציות הסינגולאריות מסוג IIשל הרובוט תהיינה הקונפיגורציות בהן המשך
החוליות הדיסטליות של שלשת הרגליים נפגשות בנקודה .קונפיגורציה אחרת שהיא
הסינגולאריות מסוג IIתהיה מפגש של החוליות הדיסטליות באינסוף או במילים אחרות
שלשת החוליות הדיסטליות מקבילות (ההוכחה המתמטית לזה מתישה למדי על כן לא אציג
אותה כאן).
סינגולאריות מסוג IIIתתקיים כאשר התנאים לשני סוגי הסינגולאריות מתקיימים .עם זאת,
יש לשים לב שקיומן של קונפיגורציות סינגולאריות מסוג Iאו " IIמובטחת" כמעט עבור כל
רובוט ,ואילו הסינגולאריות מהסוג השלישי תופיע עבור בחירה "מיוחדת" של הרובוט.
תרגילים נוספים
66.6עבור רובוט הבנוי כמכאניזם ארבעה מוטות (ראה תרגיל
)66.6אשר יחידת הקצה שלו ממוקמת במרכז החוליה השנייה,
(א) כתוב תוכנית אשר מחשבת את מרחב העבודה( .מרחב כזה
נקרא .)Coupler Curve
(ב)
מהו התנאי לכך שהחוליה
הקצרה ביותר תוכל להסתובב סיבוב מלא ?
דוגמא :עבור רובוט L1 2, L 2 L3 L 4 1עם תפסנית
ממוקמת בהמשך חוליה שנייה ,במרחק 5יחידות ממפרק 9
ה Coupler Curveייראה כבאיור:
66.63עבור רובוט הבנוי כמכאניזם ארבעה מוטות (ראה תרגיל ( :)66.9א) הוכח כי
הקונפיגורציות הסינגולאריות שלו נתונות באיורים .הסבר איכותית מדוע אלו קונפיגורציות
סינגולאריות( .ב) מהן הקונפיגורציות בהן יש סינגולאריות מסוג ? III
159
161
ד"ר ניר שוולב
מבוא לרובוטיקה
66.66הוכח שמהירותה של חוליה הקבועה לאדמה באמצעות מפרק סיבובי ומיקום קצהָּ
ב v -נתון כ v v -כאשר v מסמן ווקטור מאונך ל. v -
רמז :רשום את הווקטור מפורשות וגזור על פי הזמן.
66.69הוכח שקשר הכוחות הסטאטי עבור רובוט מקבילי הוא , F J τכאשר
T
1
. J J IN J OUTרמז :עקוב אחר פרק 1ועבוד לאור משוואה .66.6
66.60סכם את המאמר [ ]90העוסק בשיטות אקטואציה שונות ברובוט 3RRRשדנו בו
בפרק זה.
66.69סכם את המאמר [ ]99שעוסק ברובוט מקבילי פופולארי בתעשייה בשם .HEXA
ד"ר ניר שוולב
מבוא לרובוטיקה
.69מרחב הקונפיגורציה
עד כה כשעסקנו בהקשר הקינמטי התמקדנו בשיטות לבצע טרנספורמציות בין מערכות
צירים ,לבצע ליניאריזציה על משוואות התנועה ולזהות מתוך האנליזה נקודות סינגולאריות.
עבור מטרת תכנון תנועה קיימת חשיבות מרובה להגדרת מרחב הקונפיגורציה והמרחב
המשיק למרחב הקונפיגורציה בנקודה מסוימת -הוא מרחב המהירויות האפשריות לתנועה
עבור קונפיגורציה נתונה (ראה פרק .)9כפי שהזכרתי בעבר ,קונפיגורציה הינה למעשה תמונת
המצב של הרובוט ,לאמור אוסף פרמטרים שקובעים את מיקום כל חוליותיו ,ובכלל זה
הפלטפורמות שלו .מרחב הקונפיגורציה בנוי ,כפי שיוברר בהמשך הפרק ,מאוסף כל
הקונפיגורציות האפשריות של הרובוט .וכך ,בסיס הרעיון של תכנון תנועה במרחב
הקונפיגורציה הוא שכל קונפיגורציה במרחב זה מיוצגת כנקודה במרחב הקונפיגורציה,
ומסלול במרחב הרובוט מיוצג כעקום במרחב הקונפיגורציה (ראה נספח ב') .מרחב
הקונפיגורציה יהיה בדרך כלל מרחב "יפה" אך לא תמיד יהיה כך ,לעיתים יחוש הרובוט
סינגולאריות אחרת ,כזו הנובעת מסינגולאריות מרחב הקונפיגורציה עצמו .סינגולאריות כזו
תהיה תלויה רק במבנה הגיאומטרי של הרובוט ולא בבחירת המפרקים הממונעים (כפי
שקורה בסינגולאריות קינמאטית).
מושגי יסוד בטופולוגיה :מרחבים
נתחיל אפוא בהקניית כלים מתמטיים בסיסיים בטופולוגיה( (General Topology) 26נתמקד
באלו שיסייעו לנו בהבנת המושגים שנציג כאן בלבד .באופן כללי ,נושא הטופולוגיה מורכב
ויריעתו עצומה ,לקורא המעמיק מומלץ לעיין ב [27],[26],[25]-להקניית מושג עמוק בתחום
הטופולוגיה .בפרט ,רוחב היריעה במחקר ברובוטיקה הנעזר בכלים המתמטיים הטופולוגיים
26טוֹפוֹלוֹגְ יָּה :Topologyענף במתמטיקה העוסק במחקר של אותן תכונות של המרחב הנשמרות תחת
דפורמציות רציפות -אלו הנשמרות לאחר כיפוף ,מתיחה או עיוות אחר של המרחב ,אבל לא קריעה ,שבירה או
ניקוב חור.
161
162
ד"ר ניר שוולב
מבוא לרובוטיקה
רחב אף הוא לסקירה מלאה במסגרת הספר ,וגם כאן מופנה הקורא המתעניין לעיון בספרות
המחקרית ,במיוחד מומלץ לגשת ל.)]91[-
בבסיסה הטופולוגיה היא הכללה של החשבון האינפיניטסימאלי העוסק בחקר ההעתקות
מהמרחב הישר (ציר המספרים ,המישור ,המרחב וכו') למרחב ישר אחר .כלומר ,הטופולוגיה
עוסקת בחקר ההעתקות ממרחב כלשהו (נניח הספירה הדו ממדית - 27כפְ ני כדור הארץ)
למרחב כללי אחר (נניח לציר המספרים הממשיים המציין טמפרטורה על פני כדור הארץ).
לשם דיון מסודר בטופולוגיה עלינו ראשית להגדיר מהי פונקצית מרחק ,שכן על גבי הספירה
יש להגדיר מרחק באופן שונה מאשר האופן בו הוא מוגדר על המישור (כיצד תגדירו את
המרחק בין ישראל לסין ?)
הבה נתמקד בקבוצת המספרים הממשיים . עבור כל זוג מספרים x, y נוכל לחש ֹוב
על dx, y x yכעל המרחק ביניהם .נשים לב שפונקצית המרחק הזו מקיימת:
( )6הפונקציה dx, y תמיד אי-שלילית ,ומקבלת את הערך 3רק כאשר . x y
(. dx, y dy, x )9
( )0מתקיים אי-שוויון המשולש כלומר dx, y dx, z dz, yעבור כל שלשה
. x, y, z
ידי )(Euclidian distance
יקלִ ִ
כדוגמא נוספת לפונקצית המרחק נציין את המרחק האֵ ְ
x1 y1 2 x 2 y2 2
d(x1 , x 2 , y1 , y2 ) בין שתי הנקודות
x1 , x 2 , y1 , y 2
במישור ונוכל לבדוק בנקל שמתקיימים ( .)0(,)9(,)6בכדי להפוך את הדיון בטופולוגיה
2
ריקה ) :(Metric distanceמטריקה היא
לרחב ככל הניתן ,נכליל את מושג המרחק/מ ְט ָ
פונקציה המתאימה לכל זוג נקודות במרחב נתון מספר חיובי ,ומקיימת מספר תנאים
פשוטים .בזכות תנאים אלה ,אפשר לראות במטריקה הכללה של מושג המרחק מהמרחב
האיקלידי למרחב כלשהו:
הגדרה :תהא Cקבוצה כלשהי .פונקציה d : C C תיקרא מטריקה ) (Metricאם
היא מקיימת את שלושת התכונות הבאות לכל : x, y, z C
( )6הפונקציה dx, y תמיד אי-שלילית ,ומקבלת את הערך 3רק כאשר . x y
(. dx, y dy, x )9
( )0מתקיים אי-שוויון המשולש ,כלומר . dx, y dx, z dz, y
27מימד מרחב מוגדר כמספר הממדים עליו ניתן לנוע .לשם הדגמה אם נתייחס לפני כדור הארץ ,אזי מאחר
וכיווני התנועה האפשרית הם צפון-דרום ומזרח-מערב ,מדובר בספירה דו ממדית.
ד"ר ניר שוולב
מבוא לרובוטיקה
הגדרה :מרחב מטרי ) (Metric Spaceהוא קבוצה Cעם מטריקה . d : C C מרחב
כזה יסומן כזוג הסדור . C, d
n
דוגמא :מרחב המפרקים של רובוט טורי R
RRהוא חלק מן המרחב הקרטזי עליו
n
נוכל להגדיר מטריקות שונות כמו:
.6המטריקה האיקלידית y i
n
2
i
x
xy
.9המטריקה הטריוויאלית
xy
i 1
d 2 (x 1 , x 2 , x n , y1 , y 2 , y n )
1 if
d T (x 1 , x 2 , x n , y1 , y 2 , y n )
0 if
1/ p
.0מטריקות מינקובסקי
28
n
p
d p (x1 , x 2 , x n , y1 , y 2 , y n ) x i yi
i 1
כל אחת מן המטריקות מגדירות מרחב מטרי .שימו לב שהמטריקה הטריוויאלית מציגה מצב
מוזר בו המרחק בין כל שתי נקודות זרות במרחב שווה ליחידה ,ויחד עם זאת המטריקה
הטריוויאלית קבילה (ראה תרגיל .)69.9
על בסיס מושג המרחק נוכל להכליל את המושג רציפות של העתקה ):(Mapping continuity
הגדרה :ההגדרה הקלאסית :פונקציה f : נקראת רציפה ב x 0 אם ורק אם לכל
0קיים , 0כך שלכל xשמקיים x x 0 מתקיים . f x f x 0 נוכל
כמובן להשתמש במושג הרחב של המטריקה במקום במרחק האיקלידי ,לאמור :העתקה
f : C Eבין שני המרחבים המטריים C, d C , E, d E נקראת רציפה ב x 0 Cאם ורק
אם לכל 0
קיים
, 0כך שלכל xשמקיים d C x, x 0
מתקיים
. d E f x , f x 0 שימו לב שהגדרה זו אינה נסמכת על התכונות האלגבריות של
המטריקה אלא רק על שלושת תכונותיה כמטריקה.
28
המטריקה
)d2 (x1, x 2 ,x n , y1, y2 ,yn
הרגילה ,וx i yi -
Minkowski metricהינה המטריקה האיקלידית
x1, x 2 ,x n , y1, y2 ,yn ) max
1 i n
( . d
163
164
ד"ר ניר שוולב
מבוא לרובוטיקה
סימון :אוסף המספרים שבין aל b-ואשר אינו כולל את aואת ,bנקרא הקטע הפתוח שבין a
ל b-ומסומן ב . a , b אוסף המספרים שבין aל b-אשר כולל את aואת ,bנקרא הקטע
הסגור שבין aל b-ומסומן ב . a, b
עד כה הגדרנו מטריקות על מרחבים איקלידיים , אבל הגדרת המרחב המטרי מאפשרת
n
מטריקות על מרחבים כלליים יותר :יהי C0,1אוסף הפונקציות הרציפות f : [0,1]
(שמעצם הגדרתן תהיינה גם חסומות) .כעת ,אם נחשוב על C0,1כעל הקבוצה ,ועל
המטריקה
המוגדרת
עליה
כעל:
d f , g supf x gx : x [0,1]
כאשר
] , f , g C[0,1קיבלנו מרחב מטרי חדש (שאיבריו הם פונקציות).
הערה :יהי ) (C, dמרחב מטרי כלשהו ויהי A Cתת מרחב שלו .אזי המטריקה על A
נקראת המטריקה המושרית ( )Induced metricומשמעותה כי המרחק בין שתי נקודות
a 1 , a 2 Aשווה למרחקן על פי המטריקה dשל . C
ניתן להכליל (וכך נעשה) את מושג הקטע הפתוח למושג קבוצה פתוחה .קבוצה פתוחה היא
(בניסוח מרושל) כזו אשר אינה מכילה את איברי הקצה שלה .במילים אחרות ,קבוצה נחשבת
פתוחה אם מכל נקודה בה ניתן "לנוע מעט לכל כיוון" ולהישאר בתחום הקבוצה בלי לצאת
ממנה .כך הקבוצה ) [a, bאינה קבוצה פתוחה ,שכן כל תזוזה שמאלה מ a-תוציא אותנו
n
מתחומי הקבוצה .הקבוצה (x1 , x 2 ,, x n ) | x1 x 2 x n 1 , d 2מצד
2
2
2
שני ,היא קבוצה פתוחה (כדור היחידה ה n-מימדי הפתוח) וכך גם איחוד כלשהו (סופי או בר
מניה (29של כדורים פתוחים .בכדי לקבל את ההגדרה הכללית נעזר במושג המטריקה:
הגדרה :קבוצה פתוחה ) (Open Setהיא איחוד (סופי או בר מניה) של קבוצות
, x C | d(x, x i ) , 0 C, d כלומר של כדורים פתוחים (מוכללים) ברדיוס
x i C
0שמרכזם . x i
נשים לב שחיתוך אינסופי של קבוצות פתוחות אינו בהכרח קבוצה פתוחה ,לדוגמא :החיתוך
1 1
n 1
n n
האינסופי } , {0אינו קבוצה פתוחה.
29קבוצה בת מניה היא קבוצה (סופית או אינסופית) שניתן למנות את איבריה .במילים אחרות ,קבוצה היא בת
מניה אם ניתן "להצמיד" לכל איבר מאבריה מספר טבעי יחיד (באופן שכל מספר טבעי מוצמד לאובייקט אחד).
לדוגמא ,קבוצת המספרים הטבעיים וקבוצת המספרים הרציונאליים הן קבוצות בנות מניה ,בעוד שקבוצת
המספרים הממשיים ( )3,6אינה בת מניה.
ד"ר ניר שוולב
מבוא לרובוטיקה
תרגיל :45.4הוכח ש { }xהוא קבוצה פתוחה עבור המרחב המטרי , C, d T כלומר עבור
קבוצה כלשהי עם המטריקה הטריוויאלית.
פתרון :ברור שעבור המטריקה האיקלידית } {xאינו קבוצה פתוחה .נראה שעבור המטריקה
הטריוויאלית אין זה המצב .קבוצה פתוחה מוגדרת כ:
A x C | d(x, x i ) , 0
ובהצבת המטריקה הטריוויאלית נקבל:
}A x C | d(x, x i ) 0 {x
התוצאה הזו אינה אינטואיטיבית ,ולכן בעיסוק בטופולוגיה מומלץ להיצמד להגדרות
ולהיזהר מהנחות סמויות.
כפי שציינתי ,עיקר עיסוקה של הטופולוגיה הוא בחקר ההעתקות ממרחב אחד למשנהו .סוג
חשוב של העתקות הוא בוודאי ההעתקות הרציפות שאותן הגדרנו .זכרו שהגדרתנו לרציפות
נסמכה על מושג המטריקה .אם יכולנו להימנע מהשימוש במטריקה להגדרת הרציפות היה
הדבר מהווה פתח להרחבת המושג (וכך נעשה):
הגדרה :העתקה f : C Eבין שני המרחבים המטריים C, d C , E, d E נקראת רציפה ב
x 0 Cאם ורק אם לכל קבוצה פתוחה U Eהקבוצה f 1 U Cגם היא פתוחה.
משפט :שתי ההגדרות לרציפות ההעתקות שקולות.
הוכחה :בכדי להוכיח את הטענה נראֶ ה שכל אחת מן ההגדרות גוררת את רעותה ,כלומר( :א)
אם f : C Eהיא העתקה רציפה בין מרחבים מטריים ,ונתונה U E
קבוצה פתוחה ,אז
f 1 U Cגם היא קבוצה פתוחה( .ב) בהינתן העתקה f : C Eבין מרחבים מטריים
אשר עבור כל קבוצה פתוחה U Eהקבוצה f 1 U Cפתוחה ,נוכיח ש f -רציפה ,כלומר
שלכל 0קיים 0כך שאם d C x, x 0 אז . d E f x , f x 0
הוכחת חלק (א) :תהי U E
קבוצה פתוחה ונבחר איבר כלשהו
1
. x 0 f ( U) C
במילים אחרות . f x 0 Uידוע שלכל 0קיים , 0כך שלכל xשמקיים
d C x, x 0 מתקיים . d E f x , f x 0 לכן ,אם נבחר
יש איבר xהנמצא בסמוך
165
מבוא לרובוטיקה
166
ד"ר ניר שוולב
ל ( x 0עד כדי ) כך ש . d E f x , f x 0 -כלומר ,קרוב ככל שנרצה ל f x 0 Uיש
איברים שמקורם הוא קרוב ל . x 0 -במילים אחרות ,לכל איבר ב Uיש מקור ,וסביב המקור
הזה קיימת קבוצה פתוחה ("סביבה פתוחה") ,שגם היא כלולה ב ) . f 1 ( Uאם כןf 1 ( U) ,
בנוי כאיחוד של קבוצות פתוחות ולכן גם הוא פתוח.
הוכחת חלק (ב) :תהי f : C Eהעתקה בין מרחבים מטריים ,כך שלכל קבוצה פתוחה
U Eהקבוצה f 1 U Cפתוחה .ותהי . 0נביט ב : f x 0 Uנבחר איבר xכך ש-
~
את f x ואת . f x ולכן x , x f U נבחר . max dx , x
~
~
~ 1
. d E f x , f x 0 ידוע ש f Uפתוחה לכל Uפתוחה ,נבחר U Uפתוחה שמכילה
1
0
0
0
~
xf 1 U
הנה כי כן ,אין צורך במטריקה בכדי להגדיר פונקציות רציפות ממרחב אחד למשנהו.
כשקובעים מטריקה על קבוצה , Xנקבע מייד אילו הן התת-קבוצות A Xהפתוחות.
לעומת זאת ,מתוך הקביעה מיהן הקבוצות הפתוחות אין להסיק מהי המטריקה .30בידיעת
אוסף הקבוצות הפתוחות גלום ,אפוא ,פחות מידע מאשר במטריקה ,ומכאן המוטיבציה
להגדיר מרחב טופולוגי על קבוצה פשוט ע"י הכרזה מיהן הקבוצות הפתוחות במרחב – תחת
הגבלות מסוימות:
הגדרה :קבוצה Cנקראת מרחב טופולוגי ) (topological spaceאם קיים בה אוסף של תת
קבוצות פתוחות של Cאשר עבורן מתקיים:
.6איחוד של מספר בן מניה של קבוצות פתוחות הוא קבוצה פתוחה.
.9החיתוך של מספר סופי של קבוצות פתוחות גם הוא קבוצה פתוחה.
.0הקבוצה הריקה והקבוצה Cכולה נחשבות קבוצות פתוחות.
משפט :כל מרחב מטרי הוא מרחב טופולוגי( .לא לכל מרחב טופולוגי אפשר להצמיד
מטריקה).
דוגמא :אם נגדיר את קבוצת המספרים } C {1,2,3כ"עולם" שלנו ונכריז על תת הקבוצות
{1,2,3},{1,2},{1,3},{1},{}כעל הקבוצות הפתוחות ,אזי קיבלנו מרחב טופולוגי כשר
למהדרין .אבל לא נוכל למצוא למרחב הזה מטריקה שתגדיר את אותן הקבוצות הפתוחות.
30
לדוגמא :המרחבים המטריים , d ו , d
n
1
n
2
כוללים את אותן קבוצות פתוחות.
ד"ר ניר שוולב
מבוא לרובוטיקה
מושגי יסוד בטופולוגיה :יחסי שקילות בין מרחבים
מטרתה המוצהרת של הטופולוגיה היא מיון מרחבים ,כלומר :בהינתן שני מרחבים
טופולוגיים נרצה לקבוע מתי יהיו שקולים ,ומתי יהיו שונים .בטרם נמשיך עלינו להגדיר מהו
יחס השקילות אותו נרצה לחקור.
אנו מכירים מספר לא מבוטל של יחסי שקילות בין קבוצות מספרים ,משולשים ,מטריצות
וכדומה ,לדוגמא( :א) יחס השוויון "=" בין מספרים הוא יחס שקילות( .ב) יחס דמיון משולשי
הוא יחס שקילות בין משולשים( .ג) יחס הדמיון בין מטריצות הוא יחס שקילות.
למעשה ניתן להגדיר מספר רב של יחסי שקילות על אובייקטים מתמטיים שונים – ובלבד
שיהיו דומים ליחס השוויון ,במובן שיקיימו את שלושת התנאים הבאים:
( )6רפלקסיביות ,כלומר כל Aיהיה שקול לעצמו.
( )9סימטריות ,כלומר אם Aשקול ל B -אזי גם Bשקול ל.A-
( )0טרנסיטיביות ,כלומר אם Aשקול ל B-ו B-שקול ל C -אזי Aשקול ל.C-
נשים לב שהיחסים הבאים שאינם מקיימים את התנאים שלעיל אינם יחסי שקילות ,וכך( :א)
יחס גדול מ "<" בין מספרים אינו יחס שקילות (ב) "להיות אח של" אינו יחס שקילות בין
אנשים.
נדמיין מרחב טופולוגי כמרחב גמיש באופן אינסופי ,כלומר ניתן למתיחה (אך לא קריעה או
הדבקה) ,עד כדי יצירת שתי צורות שונות בתכלית .נרצה להגדיר את יחס השקילות באופן
31
שיזהה את שתי הצורות האלו .יחס שקילות כזה ייקרא הומאומורפיזם
) ,(Homeomorphismונאמר שהמרחבים הומאומורפיים .ספל הקפה המוצג באיור ניתן
למתיחה באופן שיהפך לטוֹרּוס (גלגל אופניים) .הספל והטורוס הומאומורפיים זה לזה (וכך
גם כל צורות הביניים) .ההגדרה הזו אינה מדויקת דיה ועלולה לגרום לבלבול – נגדיר את
המושג באופן פורמאלי:
הגדרה :העתקה f : C Eנקראת הומאומורפיזם אם ורק אם היא:
()1
מעתיקה קבוצות פתוחות לקבוצות פתוחות.
()2
רציפה.
()3
חד חד ערכית ועל.
31ביוונית הומאו = דומה ,מורפ = צורה.
167
168
ד"ר ניר שוולב
מבוא לרובוטיקה
דוגמא :הקטעים החלקיים של ציר המספרים הממשיים ניתנים למיון לשלש קטגוריות;
שני קטעים בקטגוריה נתונה הם הומאומורפיים ,וכל שני קטעים בקטגוריות שונות אינם
הומאומורפיים :קטעים פתוחים ,קטעים סגורים ,קטעים עם נקודת קצה אחת.
הוכחה :בדקו שההעתקה ) f : (a, b) (0,1של הקטע הפתוח
) (0,1המוגדרת
xa
כ-
ba
f (x)
היא
הומאומורפיזם.
) (a , bלקטע הפתוח
ומטרנזיטיביות
של
יחס
ההומואומפריזם נובע שכל שני קטעים בקטגורית הקטעים הפתוחים הם הומאומורפיים.
אותה הוכחה תקפה גם עבור שתי הקטגוריות האחרות .שימו לב שאם )A [0,1
הומאומורפי ל ) B (0,1אז אם תת הקבוצה הפתוחה (0, ) Aמתאימה לתת קבוצה
פתוחה , (a i , b i ) Bמאחר ותת הקבוצה [0, ) Aמתאימה גם היא ל
. (a i , b i ) Bלכן ההתאמה הזו אינה הומאומורפיזם .באותו אופן ניתן להוכיח
שהקטגוריות הן מיון של הקטעים על הישר תחת יחס הההומאומורפיזם.
הביטו בסדרת האיורים הבאה:
בשורה הראשונה צידה הימני של פיסת הנייר קופלה והודבקה לאורך צידה השמאלי ,לקבלת
גליל .בשנייה הודבק צידה העליון לצידה התחתון לקבלת טורוס .סדר פעולות ההדבקה אינו
חשוב .נ יתן להוכיח שהאופי הטופולוגי (הקטגוריה תחת יחס ההומאומורפיזם) של פיסת
הנייר שונה מזו של הטורוס ,כלומר באמצעות הדבקה ( )Gluingהתקבל מרחב חדש (הוכיחו
זאת) .האופי האינטואיטיבי של פעולת ההדבקה לקבלת מרחבים מורכבים ממרחבים
פשוטים יותר מובן ,ולכן השימוש בו רב בטופולוגיה .המרחב שהתקבל מפעולת ההרכבה
נקרא מרחב המנה ) (Quotient Spaceשל פיסת הדף תחת פעולת זיהוי צלעותיו הנגדיות.
דרך אחרת לתאר מרחבים מורכבים באמצעות מרחבים פשוטים יותר היא ע"י הכפלה:
המישור האיקלידי מסומן באופן זה מכיוון שהוא הכפלה של ישר המספרים האנכי
2
2
עם ישר המספרים האופקי . כלומר נקודה ) ( x, yב מוגדרת כזוג של נקודות
ד"ר ניר שוולב
מבוא לרובוטיקה
במרחבים האנכי ו האופקי .ניתן להכפיל באופן דומה כל זוג מרחבים X, Yלקבלת
מרחב חדש X Yשיקרא מרחב המכפלה ) .(Product Spaceהקביעה מיהן הקבוצות
הפתוחות במרחבי מכפלה של מרחבים איקלידים ברורה ,בעוד שהקביעה מי קבוצה
פתוחה במרחב שהוא מכפלה של מרחבים כלליים איננה טריוויאלית כלל ועיקר ולא תוצג
כאן.
n
דוגמא :המרחב Sהוא גליל אינסופי.
1
דוגמא :המרחב S Sהוא הטורוס .בכדי להיווכח בכך ,הביטו באיור שלמעלה – כל נקודה
בטורוס מתאימה לנקודה בפיסת הדף המקורית .כל נקודה על פיסת הדף היא זוג ערכי
1
1
1
) ( x, yעל צירי הדף ,אבל בגלל ההדבקה כל ציר הוא למעשה מעגל Sולכן . (x, y) S1 S1
ניתן להגדיר באותו אופן טורוס -nממדי S S Sשהוא מכפלה של nמעגלים.
1
1
1
יחס ההומאומורפיזם אינו יחס השקילות היחיד בטופולוגיה .יחס שקילות יותר חלש הוא
ההומוטופיה ) .(Homotopyשני מרחבים יהיו הומוטופיים זה לזה אם ורק אם אפשר לשנות
אחד באופן רציף לשני .דוגמא לזה היא הכוס שהופכת אט אט לטורוס (בלי לקרוע או
להדביק) .שני מרחבים הומאומורפיים הם גם הומוטופיים זה לזה ,אבל הכיוון ההפוך אינו
נכון תמיד:
דוגמא :עיגול היחידה המלא הומוטופי לנקודה – ניתן לכווץ אותו אט אט עד שיהפוך לנקודה.
אבל הם אינם הומאומרפיים (התנאי לחד חד ערכיות אינו מתקיים).
דוגמא :הקשר שבאיור הומאומורפי לטורוס מחד .אבל מאידך אינו
הומוטופי לטורוס ,מכיוון שאין אפשרות לשנות את הקשר לטורוס באופן
רציף בלי לקרוע אותו ,להתירו ולחברו מחדש.
דוגמא :הצורה " "¤והצורה " "Oהומוטופיות אבל לא הומאומורפיות.
מושגי יסוד בטופולוגיה :יריעות
מרחבים מיוחדים הנושאים מטריקות "משונות" כמו המטריקה הטריוויאלית ,קשים להבנה
ולרוב פחות שימושיים .לעומתם ,המרחבים האיקלידיים אינטואיטיביים יותר .נרצה אם כן
להעמיק את הידע שלנו אודות מרחבים שדומים יותר למרחבים איקלידיים.
המטריקה על כדור הארץ ,כפי שהזכרנו ,אינה מובנת מאליה .למרות זאת ,אם נתבקש למדוד
את המרחק בין בתים סמוכים נציין את המרחק האווירי ביניהם כתשובה הדרושה .כלומר,
בסביבת נקודה נקל לדעת את המטריקה .שטח פני כדור הארץ נראה שטוח לתושביו ,במילים
169
מבוא לרובוטיקה
171
ד"ר ניר שוולב
אחרות ,בסביבת כל נקודה עליו נראה כדור הארץ דומה מאוד למרחב האיקלידי , אך
במבט כולל הוא בעל תכונות מורכבות יותר (מבט כולל על שטח פני כדור הארץ מגלה את
צורתו הכדורית) .יריעות מתאפיינות בעיקר בעובדה שניתן לפרק אותן למספר אזורים שכל
אחד מהם הוא בעצם קבוצה במרחב האיקלידי שנמתחה או כווצה .למרות שבאופן מקומי
היריעה דומה למרחב איקלידי ,התכונות הכלליות שלה יכולות להיות מאוד מפתיעות.
לדוגמה ,בעוד שבמישור האיקלידי סכום הזוויות במשולש הוא ,6133על פני כדור (שדומה
2
למישור באופן מקומי) ניתן למצוא משולשים עם שלוש זוויות ישרות.
הגדרה :מרחב יקרא יריעה ) (Manifoldאם )6( :לכל נקודה קיימת סביבה פתוחה בה הוא
מוכל )9( .סביבת כל נקודה בו הומאומורפית ל n )0( קבוע לכל הנקודות במרחב.
n
1
דוגמא :מרחב המנה של ] [0,1המזהה את נקודות הקצה הוא היריעה החד ממדית . S
1
Sהומאומורפית למעגל היחידה.
דוגמא :המרחב הבנוי שני ישרים אינסופיים שנחתכים בנקודה אחת איננו יריעה ,משום
שסביבתה הפתוחה של כל נקודה מלבד מנקודת החיתוך הומאומורפית ל ( ראה תרגיל
,)69.9בעוד שסביבת נקודת החיתוך איננה הומאומורפית ל .
דוגמא :קחו פיסת נייר ריבועית והדביקו את קצהַ העליון על
קצהַ העליון באופן שהקודקוד הימני בקצה העליון יודבק עם
הקודקוד השמאלי בקצה התחתון ,והקודקוד השמאלי בקצה
העליון יודבק עם הקודקוד הימני בקצה התחתון .קיבלתם טבעת
מיביוס ) (Möbius bandכמוראה באיור .כעת מתחו קו אחד לאורך הרצועה עד לסגירת
המעגל .שימו לב שצבעתם את "שני צידי" הטבעת ! במילים אחרות ,טבעת מיביוס היא
חסרת כיוון :אין אפשרות להבדיל בין צדדיה .יריעה כזו נקראת בלתי כְ וְ וי ָנה (Non
) ,Orientableלעומת יריעות כווינות עליהן ניתן לציין צד פנימי וצד חיצוני כדוגמת הספירה.
משפט :יריעות דו ממדיות 32כווינות ניתנות לקיטלוג על פי הגנּוס ) (Genusשלהם -מספר
"החורים" .במילים אחרות ,כל המשטחים הדו ממדים בעלי גנוס ( 3ספירות) הם
הומאומואפיים ,כל המשטחים הדו ממדים בעלי גנוס ( 6טורוסים) הם הומאומואפיים ,כל
המשטחים הדו ממדים בעלי גנוס ( 9טורוסים בעלי שני חורים) הומאומואפיים וכו' .משטחים
מקטגוריות שונות אינם הומאומורפיים.
32אין בנמצא משפט מיון עבור יריעות בממדים גבוהים מ .9
ד"ר ניר שוולב
מבוא לרובוטיקה
משפט :בהינתן פא ֹון )( (Polyhedronגוף תלת ממדי המורכב מפאות ,היוצרות יחד גוף קשיר
,חסום וסגור) בעל Vקודקודים E ,צלעות ו F-פאות ,הגנוס של הפאון מחושב באמצעות:
. g 2 V E F / 2
מרחבי קונפיגורציה
נתמקד ברובוט Rהמישורי .כל קונפיגורציה של הרובוט ניתנת לייצוג בעזרת
הזוית 0 2במפרק .אוסף האפשרויות לזווית הומאומורפי למעגל היחידה S1
(התאימו לכל נקודה על המעגל את הזווית המתאימה לו) .כלומר,
1
Sמייצג את כל
הקונפיגורציות האפשריות של הרובוט ,Rולכן נקרא לו מרחב הקונפיגורציה
).(Configuration Space
עבור הרובוט הטורי המישורי RRכל קונפיגורציה מיוצגת על ידי זוג זוויות המפרקים
) . (1 , 2כאמור ,מרחב הקונפיגורציה עבור רובוט ( Rהמפרק הראשון) הוא מעגל היחידה
. Sעבור כל נקודה על Sנצטרך ,אם כן ,לצייר מעגל יחידה Sגם עבור ( 2שכן עבור כל
1
1
1
זווית 1נוכל לסובב את 2בחופשיות) .זוהי דרך לתאר את הטורוס . S Sמעגל היחידה
1
1
הראשון מתאר את הסיבוב במעגל הגדול על הטורוס ,ומעגל היחידה השני -את הסיבוב סביב
המעגל הקטן (ראה חצים באיור שלמטה) .בטענה הבאה מובאת הרחבה לדיוננו.
טענה :מרחב הקונפיגורציה של כל רובוט טורי R
( RRמרחבי או מישורי במבנה כלשהו)
n
S
עם nמפרקים סיבוביים הוא הטורוס ה -nממדי S
.S
1
1
n
1
171
172
ד"ר ניר שוולב
מבוא לרובוטיקה
דוגמא :מרחב הקונפיגורציה של רובוט טורי הוא הטורוס התלת ממדי.
ראינו ,בנוסף ,שהטורוס הדו ממדי S Sהומאומורפי לפיסת נייר עם
זיהוי צלעותיה הנגדיות .באותה שיטה ניתן לייצג גם את הטורוס התלת
ממדי ,כלומר זה האחרון הומאומורפי לקובייה שאת פאותיה הנגדיות
נזהה (נדביק את הפאה העליונה לזו התחתונה ,את השמאלית לזו הימנית ואת הקדמית
לאחורית) כמודגם באיור.
1
1
טענה :מרחב הקונפיגורציה של כל רובוט טורי P
( PPמרחבי או מישורי במבנה כלשהו)
n
n
עם nמפרקים פריזמטיים הוא המרחב האיקלידי ה -nממדי
.
n
מרחב הקונפיגורציה של רובוט טורי יהיה יריעה כווינה שמימדה הוא מספר האקטואטורים
(המוביליות של הרובוט) ,והיא מהווה מרחב מכפלה כמתואר לעיל .מרחבי הקונפיגורציה
של רובוטים טוריים בעלי סדרת מפרקים זהה אך בעלי מבנה שונה יהיו ,אם כן,
הומאומורפיים.
עבור רובוטים מקביליים עניין קביעת מרחב הקונפיגורציה יותר סבוך ,זאת נבין מייד .אך
ראשית ,נשאלת השאלה האם מרחבי הקונפיגורציה של כל הרובוטים יהיו תמיד מרחבים
"נעימים למתבונן" כלומר יריעות .המשפט הבא טוען שהתשובה לכך חיובית כמעט עבור כל
רובוט (טורי או מקבילי):
משפט :מרחב הקונפיגורציה של רובוט גנרי הוא יריעה חלקה וכווינה .מימד היריעה הוא
המוביליות של הרובוט.
הוכחה של המשפט נתונה ב ]96[ -ובבסיסה שימוש
במשפט הערך הרגולרי .הביטוי "רובוטים גנריים"
דורש הבהרה :היזכרו במכאניזם הפרדוקסאלי (לדוגמא
המכאניזם שבאיור או מכאניזם בנט) שדנו בו בפרק
הראשון .חישוב של מוביליות המכאניזם שבאיור מראה כי . F 0אולם בפועל ברור כי
.F=1הבעיה טמונה ,כאמור ,בבחירת יחסי האורכים .אם אורך הזרוע המרכזית ,לדוגמא,
הייתה אחרת מהשתיים האחרות המכאניזם היה אכן "תקוע" ,אולם בבחירה הנתונה
המכאניזם בעל מוביליות .6ומכאן נסיק כי נוסחת המוביליות נכונה בהנחת גנריות
המכאניזם ,כלומר בהנחה שאין יחסים מיוחדים בין אורכי החוליות .ולכן בהינתן מבנה של
רובוט עם חוליות באורכים גנריים מרחב הקונפיגורציה שלו יהיה ( )6יריעה ( )9יריעה חלקה
במובן שניתן להגדיר נגזרת בכל נקודה על היריעה ( )0כווינה במובן שיש ליריעה שני צדדים.
ניתן לנסח גם את השאלה ההפוכה :בהינתן יריעה ,האם קיים רובוט שמרחב הקונפיגורציה
שלו הומאומורפי ליריעה ? המשפט הבא טוען שהתשובה לכך חיובית.
ד"ר ניר שוולב
מבוא לרובוטיקה
משפט :עבור כל יריעה שנבחר קיים רובוט שאחד ממרכיבי הקשירות של מרחב
הקונפיגורציה שלה הומאומורפי ליריעה.
הוכחה של המשפט נתונה ב .]03[ -הביטוי "מרכיב קשירות" דורש
הבהרה .מכאניזם הבנוי כמשולש שבסיסו קבוע לאדמה אינו מסוגל
לתנועה ,ולכן מרחב הקונפיגורציה שלו יהיה מורכב מקונפיגורציה
יחידה .אם נתיר למשולש להתהפך נקבל קונפיגורציה נוספת ,ובסך
הכול יהיה מרחב הקונפיגורציה מורכב משתי נקודות זרות .אם
נוסיף למכאניזם צלע קטנה שתחבר את שתי שוקיו כמתואר
באיור ,יתקבל מרחב קונפיגורציה חד מימדי המורכב אף הוא משני
1
מרכיבים (מרחב הקונפיגורציה יהיה הומאומורפי לשני עותקים זרים של .) Sהאפשרות
היחידה לעבור ממרכיב אחד לשני תהיה לפרק את המכאניזם ולהרכיבו מחדש בצד השני.
אלה הם מרכיבי הקשירות של מרחב הקונפיגורציה .המשפט טוען אם כן שמרחבי
קונפיגורציה של רובוטים הם כה עשירים עד כי ניתן להתאים רובוט לכל יריעה.
הערה :ב 6135פרסם Alfred Kempe
33
הוכחה לטענה יותר "חלשה" כי לכל עקומה
מישורית ניתן להתאים רובוט שיעקוב אחריה במדויק .מבנה ההוכחה נשען על השלבים
(ההוכחה המלאה נתונה ב [ )]06הבאים:
( )6כל עקום מישורי ניתן לניסוח מרוכב . f (z) 0
( )9כל פעולה חשבונית (כפל ,חיבור ,חיסור ,מציאת הצמוד המרוכב) בין מספרים מרוכבים
ניתנת לביצוע באמצעים מכאניים.
( )0ניסוח העקום ) f (zבאמצעים מכאניים .קביעה מכאנית של יחידת הקצה בראשית
ליצירת השוויון . f (z) 0באופן זה המשתנה zמאולץ לנוע על העקום בלבד.
משהבנו כי מרחבי הקונפיגורציה הם יריעות ,ומשנוכחנו במגוונם העצום ,נחזור לעסוק
בחישוב מרחבי הקונפיגורציה של רובוטים הבנויים כשרשרת קינמטית מישורית סגורה.
מנגנון חמישה מוטות הבנוי כשרשרת סגורה הוא בעל מוביליות ,9וכך גם מימד מרחב
הקונפיגורציה שלו .מצד שני שימו לב שיספיקו שלש זוויות לתיאור מלא של הקונפיגורציה
של המכאניזם .נוכל לחשב ,אם כן ,את מרחב הקונפיגורציה של מנגנון חמישה מוטות ע"י
חישוב אילו שלשות
) (1 , 2 , 3הן אפשריות .קוד ה Maple -הבא מחשב את מרחב
הקונפיגורציה עבור רובוט עם חוליות באורכים ). (1,1,1.5,1.2,1
with(plots):
L1 := 1: L2 := 1: L3 := 1: L4 := 1: L5 := 1.3:
(implicitplot3d({ (L1+L2*cos(x)+L3*cos(y)+L4*cos(z))^2+
L2*sin(x)+L3*sin(y)+L4*sin(z))^2-L5^2 = 0 }, x = 0..2*Pi, y = 0..2*Pi, z = 0..2*Pi, axes
Kempe 33הוכיח את משפט ארבעת הצבעים (משפט חשוב בטופולוגיה) לקול תרועות .למרבה הצער שנה מאוחר
יותר התגלתה ההוכחה כמוט עית .עם זאת ההוכחה המתמטית הנכונה למשפט עושה שימוש רב בכלים
המתמטיים שהציג.
173
174
ד"ר ניר שוולב
מבוא לרובוטיקה
= = BOXED, scaling = CONSTRAINED, orientation = [35,80], grid = [20,20,20], style
;)PATCHNOGRID, lightmodel = light3
ומתקבל טורוס דו ממדי בעל גנוס :9
נוכל לחשב את מרחב הקונפיגורציה של שרשרת קינמטית סגורה ארבעה מוטות גם באופן
גיאומטרי .באיור שלמטה מודגם מנגנון ארבעה מוטות שנותק באחד ממפרקיו ,באופן שנוצרו
שני מכאניזמים זרים – האחד רובוט RRוהשני רובוט .Rמרחב העבודה של רובוט RRהוא
הטבעת המושחרת שבאיור ,ומרחב העבודה של הרובוט Rהנותר הוא העיגול המקווקו .אם
נגדיר את נקודת הניתוק כמרחב העבודה של מנגנון ארבעת המוטות ,אזי מרחב העבודה של
המנגנון יהיה החיתוך בין שני מרחבי העבודה ,כלומר הקשת .BCDננסה לשחזר כעת את
מרחב הקונפיגורציה מתוך הקשת הזו :קיימת קונפיגורציה אחת אשר מתאימה לנקודת
העבודה – Bזוהי הקונפיגורציה בה חוליות הרובוט RRמתוחות לגמרי .ובדומה ,קיימת
קונפיגורציה אחת המתאימה לנקודת העבודה .Dמנגד ,קיימות שתי קונפיגורציות עבור כל
נקודת עבודה שבין Bל Dעל הקשת – אחת בה רובוט RRמצוי במרפק למעלה ואחת בה
המרפק למטה .בסה"כ אם נסדר את הקונפיגורציות המתאימות לקשת BCDמימין לשמאל
נקבל
B
D
כלומר מרחב הקונפיגורציה הומאומורפי
1
ל . Sבאותו אופן ניתן לחלץ את מרחב הקונפיגורציה גם עבור כל
מנגנון 5מוטות (עד כדי הומאומורפיזם).
רובוטים מקביליים מתאפיינים כאמור בריבוי רגליים אשר
אוחזות יחדיו ביחידת הקצה .מרחב העבודה של רובוט העכביש
המישורי באיור הימני (ראה [ )]65הוא חיתוך של שלוש הטבעות כמוצג באיור (עבור טיפוס
הרובוט הזה קיימים הרבה טיפוסים של מרחב עבודה).
ד"ר ניר שוולב
מבוא לרובוטיקה
הביטו באיור השמאלי .מרחב העבודה עבור רובוט בעל אורכים מסוימים נראה כירח תחּום
בשתי קשתות .כל נקודה פנימית בתוך מרחב העבודה מתאימה ל 2 8 -קונפיגורציות
(מרפק למעלה-מרפק למטה עבור כל אחת מהרגליים) .נדמיין ,אם כן 1 ,עותקים זרים של
מרחב העבודה בצורת ירח ונסמנן ב:
3
)(u, u, u), (u, u, d), (u, d, u), (u, d, d), (d, u, u), (d, u, d), (d, d, u), (d, d, d
כאשר המיקום הראשון מתייחס לרגל הראשונה ,השני לשנייה והשלישי לרגל השלישית,
הסימון uמתייחס לקונפיגורציה עם המרפק למעלה ,ו d-לקונפיגורציה בה המרפק תחתון.
העותקים הללו אינם זרים ,שכן באמצעות יישור של רגל נוכל "לעבור" לעותק אחר :כאשר
רגל 6מתיישרת תהיה יחידת הקצה על הקשת , וכאשר רגל 9מתיישרת תהיה יחידת הקצה
על הקשת . על נקודות המפגש בין הקשתות תהיינה שתי הרגליים 9,6מתוחות ביחד.
במילים אחרות ,הקשת והקשת מהוות גשר בין
העותקים.
מכיוון שרגל 0אינה יכולה להתיישר ,מרחב הקונפיגורציה
יהיה מורכב משני מרכיבי קשירות זרים ,ונוכל להתייחס
רק לארבעה עותקים של מרחב העבודה אשר בכולם
האיבר השלישי הוא .uשימו לב שהעותקים udu , uuu
מייצגים את אותן הקונפיגורציות מלבד מצב הרגל השנייה ( uבעותק uuuו d-בעותק ,)udu
אבל לאורך הקשת הימנית שלהם הרגל השנייה מתיישרת ולכן שם הקונפיגורציות זהות !
ובסיכומו של דבר ,לאחר שנדביק את ארבעת העותקים על פי הסימונים באיור תתקבל צורה
הומאומורפית לספירה .כיוון שיש ברשותנו שני עותקים זרים (המתייחסים למצב הרגל
השלישית) מרחב הקונפיגורציה יהיה 9ספירות דו ממדיות .במקום לעקוב אחר ההדבקות
יכולנו לספור את מספר הקודקודים ,הצלעות והפאות ולחשב את הגנוס :במקרה שלנו
, g 2 2 4 4 / 2 0כלומר התקבלה ספירה כצפוי.
דוגמא :נדמיין כעת רכב רובוטי (מכונה בספרות Automated Guided Vehicleאו בקיצור
)AGVהמאולץ לנוע על גבי מישור .נניח כי על גבי המישור נע רכב נוסף .במצב זה מרחב
הקונפיגורציה של המערכת כולה יהיה מרחב המכפלה . אם כעת נאסור על הרכבים
להימצא באותה נקודה (מטעמי בטיחות) ,יהיה עלינו להסיר ממרחב הקונפיגורציה את כל
אותם המצבים שבהם שני הרכבים מצויים באותו המיקום .הרובוט הראשון יכול להימצא
2
2
בכל נקודה ב , -בעוד שהשני יכול להיות בכל נקודה פרט לנקודה בה הראשון נמצא,
2
2
או במילים אחרות ,מרחב האפשרויות העומדות לפני הרובוט הומאומרפי ל . 2 {0} -כיוון
175
176
ד"ר ניר שוולב
מבוא לרובוטיקה
שאת "החור" שנוצר מותר להרכיב ככל שנרצה (כדוגמת הכוס והטורוס) המרחב } 2 {0
הומאומורפי לטבעת Sובסה"כ מרחב הקונפיגורציה יהיה הומאומורפי ל. S -
1
1
3
סינגולאריות טופולוגית במרחבי הקונפיגורציה
נמקד את תשומת ליבנו במנגנון ארבעה מוטות ,שאורכי החוליות
שלו ) . (2,1,4,5היחסים בין מרחבי העבודה של מנגנוני ה R-וה-
( RRהמתאימים לשני חלקי המנגנון הנוצרים אם נפרק את
המכאניזם במפרק השלישי כפי שעשינו בדוגמא הקודמת) דומים
לאלו שניתחנו לעיל ,מלבד לעובדה שכעת הקשת המקווקוות נושקת בנקודה Cלשפת הטבעת
המודגשת .בנקודת ההשקה מתקפלת זרוע 9על גבי זרוע .6נשים לב שדרך הקונפיגורציה הזו
מנגנון ה RRיכול לעבור ממצב של מרפק עליון למצב מרפק תחתון .וכך ,אם נעקוב אחר
ההדבקות כפי שעשינו בדוגמא הקודמת ,נקבל כי מרחב הקונפיגורציה הומאומורפי לשני
עיגולים מחוברים בנקודה אחת כדוגמת " . "סביבת כל הנקודות במרחב הקונפיגורציה
(פרט לנקודת החיבור בין העיגולים) הומאומורפית ל , -ואילו סביבת נקודת החיבור
הומאומורפית ל " , "שאינו הומאומורפי ל . -במילים אחרות ,מרחב הקונפיגורציה איננו
יריעה עבור אוסף אורכי החוליות הנתון – התקבלה סינגולאריות מסוג חדש.
הגדרה :קונפיגורציה תקרא סינגולאריות טופולוגית ) (Topological Singularityאם סביבת
הנקודה במרחב הקונפיגורציה אינו הומאומורפי ל , -כאשר nהוא המוביליות של
n
הרובוט.
בנקודה שסביבתה הומאומורפית ל( -בדוגמא שלעיל ,)n=1כלומר קונפיגורציה בה
n
התנועה לכל כיוון אפשרית ,ניתן להפעיל את כל המנועים באופן בלתי תלוי .מנגד ,נקודה בה
כל סביבה שלה אינה הומאומורפית למרחב האיקלידי קורה משהו אחר :עבור הדוגמא שלעיל
המרחב האיקלידי התחלף במרחב שבו שני מרחבים איקלידיים -זרים ,נפגשים .בנקודה
n
מעין זו הפעלת המנועים לא תספק בכדי להחליט באיזה מן המרחבים תתרחש התנועה –
אנו זקוקים לפתע למנוע דיסקרטי נוסף שעד כה היה מיותר בכדי לקבוע את הקונפיגורציה
הבאה של הרובוט באופן מוחלט.
n
הערה :שימו לב שאין כל חשיבות להחלטה אילו מפרקים יהיו אקטיביים ואלו פסיביים
(שלא כמו בסינגולאריות הקינמטית) .החשיבות היחידה נתונה למבנה החוליות והמפרקים.
ד"ר ניר שוולב
מבוא לרובוטיקה
למעשה סינגולאריות טופולוגית יכולה להתקבל בכל מכאניזם המכיל לולאות סגורות .מימד
מרחב הקונפיגורציה של מכאניזם שווה ,כאמור ,לערך המוביליות שלו ,ומכיוון שזה אינו
מוגבל ל ,0-לרוב אין באפשרותנו לצייר או לדמיין כיצד הלה נראה ,לא כל שכן מה אופייה של
הסינגולאריות 34במקרה וזו בנמצא .המשפט הבא טוען כי עבור מרחבי קונפיגורציה של
מכאניזמים המצב פשוט יותר:
משפט :הסביבה של נקודה סינגולארית טופולוגית של מכאניזם כלשהו (אם קיימת כזו)
הומאומורפית ל סביבה של נקודה במרחב שהוא מרחב מכפלה .מרחב זה הוא מכפלה של
יריעה עם מרחב שנוצר מהדבקת שתי יריעות בנקודה אחת.
הוכחת המשפט המלאה נתונה ב [ ,]96במאמר מודגם כיצד ניתן לזהות מכאניזמים בעלי
מרחבי קונפיגורציה "בעייתיים" ,ומה אופייה המדויק של הסינגולאריות.
תכנון תנועה במרחב הקונפיגורציה
קונפיגורצית רובוט מיוצגת כנקודה במרחב הקונפיגורציה– מסלול במרחב הקונפיגורציה
המחבר בין שתי נקודות מייצג ,אם כך ,תנועת רובוט מקונפיגורציה אחת לשנייה .בדוגמא
האחרונה שבנספח ב' מודגם מסלול במרחב הקונפיגורציה המתורגם לתנועת רובוט.
התרחיש בו יש להשחיל חפץ גדול (נאמר פסנתר) דרך פתח (נאמר דלת) המכונה בספרות
Piano mover's problem
35
מתאפיין לרוב בסדרת המהלכים הבאה » :כיוון הפסנתר
באוריינטציה מסוימת ותחילת השחלה » התקלות בשולי הדלת » נסיגה » קבלת החלטה לגבי
אוריינטציה והמשך השחלה עד למצב התקלות נוסף וחוזר חלילה .לעיתים אסטרטגית
הפעולה תצלח ,לעיתים תכשל מטעמים אובייקטיביים (כלומר לא קיימת כל אפשרות לבצע
את המשימה) ,ולעיתים תכשל בשל חסרונות האסטרטגיה (טווח הפעולה הקצר אותו יכול
לחזות המוביל) .יתרה מכך ,בראייה זו אין אפשרות לקבוע מראש אם המשימה אפשרית אם
לאו.
זכרו שכל נקודה במרחב הקונפיגורציה מכילה את כל המידע שיש לדעת על הרובוט (החפץ),
ולכן הסתכלות על בעיית תכנון התנועה במרחב הקונפיגורציה מאפשרת לתכנן את התנועה
"עד לפרט האחרון" ,כמו גם לקבוע מראש האם התנועה אפשרית .במקרה של השחלת
הפסנתר דרך הדלת ,מרחב הקונפיגורציה יהיה אוסף כל הטרנספורמציות ההומוגניות
האפשריות (ראו פרקים 9ו ,)0-ואילו הקונפיגורציות בהן יתקל הפסנתר בדלת יהיו
קונפיגורציות "לא חוקיות" מהן ננסה להימנע.
הגדרה :מרחב המכשולים ) (Obstacle Regionהוא החלק במרחב הקונפיגורציה המורכב
מאוסף הקונפיגורציות שייגרמו להיתקלות במכשולים בסביבת העבודה של הרובוט .מרחב
34אפילו עבור המקרה הדו ממדי קיימים מספר אינסופי של סוגי סינגולאריות ומיונם לא תמיד בר השגה.
35הניסוח הפורמאלי מעט שונה.
177
מבוא לרובוטיקה
178
ד"ר ניר שוולב
המכשולים מסומן כ . C obsמנגד ,המרחב החופשי ) (Free Spaceמורכב מאוסף
הקונפיגורציות שאינן במרחב המכשולים ,36כלומר בהן מותר לרובוט להיות .המרחב החופשי
מסומן ב . C free
דוגמא :הביטו ברובוט 6Rשבדוגמא האחרונה בנספח ב'.
מרחב המכשולים שלו יהיה מורכב מ( :א) כל
הקונפיגורציות בהן אחת החוליות מתנגשת בחוליה אחרת
(ב) כל הקונפיגורציות בהן המנועים נדרשים לזווית שמעבר
לטווח האפשרי שלהם (ג) כל הקונפיגורציות בהן הרובוט
"נכנס" לתוך הקיר.
כדי להמחיש את חישוב מרחב המכשולים נניח שמרחב
הקונפיגורציה דו מימדי ,וש C obs -הוא מרובע .נבהיר שוב ,המרובע מורכב מאוסף
הקונפיגורציות הבעייתיות (מטעמים כלשהם) עבר הרובוט .כעת ,עבור כל קונפיגורציה של
הרובוט (הקודקוד המודגש במשולש) קיים אוסף קונפיגורציות קרובות (אוסף הנקודות
המרכיבות את המשולש) שנרצה להבטיח לעצמנו שתהיינה מותרות .הפעולה המתוארת
באיור בין המשולש למרובע נקראת סכום מינקובסקי ) .(Minkowskiתוצאת הפעולה – קו
הגבול המשושה ,הוא שפת C freeעבור קודקוד המשולש המודגש בעיגול .סכום מינקובסקי
37
ישים בכל מימד ולכל גיאומטריה פוליגונלית (לעיתים יהא עלינו גם לסובב את מרחב הפעולה
של הרובוט בכדי לקבל את גבול .) C free
לשם המחשה נניח שוב שמרחב
דוגמא:
הקונפיגורציה הוא דו ממדי .באיור מודגמים
( C obsמודגש) ו( C free -בהיר) במרחב הקונפיגורציה.
מרחב המכשולים התקבל באמצעות סכום
מינקובסקי .בעיית תכנון התנועה ,אם כן ,היא בעיית
מציאת מסלול מנקודה sלנקודה .g
36
C freeהינה קבו צה פתוחה בתוך מרחב הקונפיגורציה ,כלומר הרובוט מורשה להתקרב ככל שירצה למכשול,
אך לא לגעת בו.
לעיתים נרצה להימנע גם מהתקרבות יתר ,או אז נגדיר את C obs
באופן מחמיר יותר.
37לעיתים יש גם לסובב את מרחב הפעולה של הרובוט לעומת המכשול ,מלבד הטרנסלציה ,לקבלת גבול . C free
מבוא לרובוטיקה
ד"ר ניר שוולב
קיימות שיטות רבות לפתרון הבעיה .נזכיר שלוש (רוחב היריעה בהקשר הזה גדול מאוד.
הקורא המתעניין יוכל להיווכח במשמעויות השונות הטמונות בניסוח הפורמאלי ה"קר" של
בעיית תכנון התנועה ,אם יעיין במאמרים [:)]00[,]1[,]09
( Probabilistic Road Mapאיור):
(א) פיזור אקראי של נקודות במרחב הקונפיגורציה.
(ב) הוספת נקודות ההתחלה והמטרה.
(ג) סינון הנקודות הנופלות בתוך מרחב המכשולים.
(ד) חיבור כל נקודה עם kהנקודות הקרובות לה ביותר באמצעות קווים ישרים.
(ה) סינון הקווים החותכים את מרחב המכשולים.
(ו) בחירת המסלול הקצר ביותר מתוך הרשת שנוצרה.
:Potential field Algorithm
(א) הגדרת הרובוט כבעל מטען חשמלי חיובי.
(ב) הגדרת מרחב המכשולים כבעל מטען חשמלי חיובי.
(ג) הגדרת נקודת המטרה כבעלת מטען חשמלי שלילי.
(ד) חישוב שדה הפוטנציאל הנובע מהמטענים ,בצורה המאפשרת לרובוט לנוע בהשפעת
הכוחות הוירטואליים הנובעים מהמטענים.
:Visibility Graph
(א) סימון כל הקודקודים המגדירים את גבולות המרחב החופשי.
(ב) הוספת נקודות ההתחלה והמטרה.
(ג) סימון הישרים המחברים בין כל זוגות הנקודות.
(ז) סינון הקווים החותכים את מרחב המכשולים.
(ח) בחירת המסלול הקצר ביותר מתוך הרשת שנוצרה.
יהי Cמרחב קונפיגורציה של רובוט כלשהו (מרחב מטרי) .לשם הסדר הטוב ,נזכיר
שמסלולים ב Cמתאימים לתנועות של הרובוט ,ונסמן ב PCאת מרחב 38כל המסלולים
האפשריים . : 0,1 Cכפי שנוכחנו בעבר בעיית תכנון התנועה מוגדרת כמציאת מסלול
בין שתי נקודות s, gב . C -לאור ההגדרות הללו ,ניתן לנסח את בעיית תכנון התנועה באופן
אלטרנטיבי:
38נסתפק בלציין שניתן להגדיר את הטופולוגיה על , PCכלומר להגדיר מהו אוסף הקבוצות הפתוחות במרחב.
באופן זה PCהוא מרחב טופולוגי.
179
מבוא לרובוטיקה
181
ד"ר ניר שוולב
הגדרה :לכל נקודה ב s, g -ב C C -יש להתאים נקודה ב PCכך ש (0) sו-
(1) gלקבלת תכנון תנועה sעל מרחב קונפיגורציה . Cנסמן את תכנון התנועה ב
. s : C C PC
מנקודת מבט זו ,מתבהרת השאלה :בהינתן
מרחב הקונפיגורציה ,האם ניתן לנסח מערכת
חוקים רציפה במובן ש:
.1אם ניתנה נקודת התחלה sונקודת סיום gוהתקבל מסלול מתאים .
.2הזזנו מעט את נקודת התחלה s+dsונקודת הסיום g+dgהתקבל מסלול שני ' .
.3שני המסלולים ' ו -אינם שונים בהרבה זה מזה.39
1
הבה נבחן זאת :נניח שמרחב הקונפיגורציה הומאומורפי ל , S -וננסה לנסח מערכת חוקים
רציפה לתכנון התנועה עליו:
עבור כל זוג נקודות נבחר את המסלול בכיוון החיובי ביניהן .תכנון תנועה כזה אינו תכנון
תנועה רציף .נדגים זאת :נבחר נקודה sכקצה הצפוני של המעגל ו g -מעט משמאלו.
המסלול המחבר בין שתי הנקודות מוגדר היטב על פי תכנון התנועה שבחרנו .כעת ,אם
נתחיל להזיז את gלאורך היקף המעגל ונבחן את השינוי שחל במסלול נראה כי המסלול
הולך וגדל ברציפות ,בעוד אנו משנים את מיקומו עד למצב בו gכמעט הגיעה לs -
ונמצאת מעט מימינו .במצב זה המסלול שנבחר עבורן הוא זה המקיף את המעגל כמעט
בשלמותו .אם ,gכעת ,תחלוף על פני sותתמקם מעט מימינו ,לפתע ישתנה המסלול
באופן לא רציף ויתקצר לכדי הקטע הקצר המחבר בין sו.g -
ננסה תכנון תנועה אחר( :א) לכל שתי נקודות לא קוטביות על המעגל נבחר את המסלול
הקצר ביותר ביניהן( .ב) לכל זוג נקודות קוטביות נבחר את המסלול לאורך הכיוון החיובי
על המעגל .גם זה אינו תכנון תנועה רציף .נדגים זאת :עבור כל תזוזה אינפיניטסימאלית
של הנקודות ,כך שהן לא "עוברות" את המיקומים הקוטביים ,תכנון התנועה יהיה רציף
שינוי קטן במיקום הנקודות יניב שינוי קטן בבחירת המסלולים .לעומת זאת ,ברגעשנחלוף על פני המיקומים הקוטביים ישתנה תכנון התנועה באופן לא רציף.
נוכחנו ,אם כן ,לדעת ,כי התשובה לשאלה ששאלנו שלילית כאשר מדובר במרחב קונפיגורציה
הומאומורפי למעגל .המשפט הבא מתאר את המצב הכללי:
משפט :קיים תכנון תנועה רציף s : C C PCעל Cאם ורק אם Cהומאומורפי
לנקודה.
39התיאור המדויק של הדרישה נתון ב.]91[ -
ד"ר ניר שוולב
מבוא לרובוטיקה
ההוכחה למשפט נתונה ב .]91[-לאור המשפט ברור שאין בנמצא תכנון תנועה רציף עבור
רובוט שמרחב הקונפיגורציה שלו הומאומורפי למעגל .באופן דומה ,מכיוון שמרחב
הקונפיגורציה של זוג הרכבים הנעים על המישור הומאומורפי ל , Sגם עבור המערכת
הזו אין בנמצא תכנון תנועה רציף .אם נחזור לניתוח הניסיון השני ליצור תכנון תנועה רציף
1
3
על גבי המעגל ,נראה כי ניתן היה לחלק את מרחב המכפלה C Cלשני אזורים:
(s, g) C C s gו (s, g) C C s g -
אשר בתוך כל אחד מהם יהיה תכנון התנועה רציף .מספר תת הקבוצות המינימאלי של מרחב
המכפלה , C Cאשר בכל אחת מהן תכנון התנועה רציף ,מסומן ב ). TC(C
משפט :לשני מרחבי קונפיגורציה הומוטופיים אותו ). TC(C
ההוכחה למשפט נתונה ב.]91[-
תרגילים נוספים
1.1
הוכח
yi
n
2
i
x
שהפונקציה
d 2 (x 1 , x 2 , x n , y1 , y 2 , y n ) היא אכן מטריקה.
i 1
1.2
הוכח
xy
xy
שהפונקציה
1 if
0 if
d T (x 1 , x 2 , x n , y1 , y 2 , y n ) היא אכן מטריקה.
1.3
שהפונקציה
הוכח
1/ p
n
p
d p (x1 , x 2 , x n , y1 , y 2 , y n ) x i yi
i 1
היא אכן מטריקה.
69.9הוכח שהקבוצה ) (a , bהומאומורפית ל .
69.5הוכח שהמרחבים שבאיור הומאומורפיים:
69.9מהו מרחב הקונפיגורציה של רובוט טורי U
( UUמרחבי) עם nמפרקי קרדן?
n
181
182
ד"ר ניר שוולב
מבוא לרובוטיקה
69.3היעזרו בתוכנת Matlabלחשב את מרחב הקונפיגורציה עבור
מכאניזם ארבעה מוטות שחוליותיו באורכים ) . (1,3,1,2.8חלצו את
מרחב הקונפיגורציה גם באמצעים גיאומטריים.
תשובה:
69.1הראו שמרחב הקונפיגורציה עבור מנגנון חמישה מוטות עם אורכים
) (1,1,1.5,1.2,1הוא הטורוס הדו ממדי בעל גנוס .9נקטו בשיטה
גיאומטרית.
69.6מצאו אוסף אורכים עבורו מתקבלת סינגולאריות טופולוגית במרחב הקונפיגורציה של
רובוט העכביש המישורי.
1
69.6למנגנון ארבעה מוטות שמרחב הקונפיגורציה שלו Sמוסיפים חוליה קטנה מאוד.
הוכיחו שמרחב הקונפיגורציה של המנגנון החדש הוא טורוס דו ממדי.
69.63רכב רובוטי ) (AGVמאולץ לנוע על גבי מסלול קבוע שצורתו
├ (שלושה קטעים
מחוברים בנקודה אחת) ,ונניח כי על גבי אותו מסלול נע רכב נוסף .במצב זה מרחב
הקונפיגורציה של המערכת כולה יהיה מרחב המכפלה ├× ├ ,פחות הקונפיגורציות בהן שני
הרכבים מצויים על אותה נקודה .מצאו את מרחב הקונפיגורציה של שני הרובוטים (ביחד).
תשובה :היעזרו ב ]09[-לקבלת:
ד"ר ניר שוולב
מבוא לרובוטיקה
183
נספח א' :פתרון מערכת משוואות לא
ליניארית
נציג כעת את שיטת האלימינציה של סילבסטר ))Sylvester's Dialytic Elimination
לפתרון מערכת משוואות פולינומיאליות המופיעות תדיר בפתרון בעיות קינמטיקה עבור
רובוטים טוריים ומקביליים( .לעיתים מתקבלות משוואות במשתני cosו sin -אשר על ידי
הצבת tanחצי הזווית( ,ראו הערה 1בפרק )5ניתנות אף הן לביטוי פולינומיאלי ,ולכן נוכל
להתרכז רק במערכת משוואות פולינומיאליות).
n
m
i 0
i 0
תהיינה Qx bi x i 0ו , Px a i x i 0 -ונניח ללא הגבלת הכלליות ש . m n
מטריצת סילבסטר של Qx ו Px -היא המטריצה:
a0
) b 0 ( m n )( m n
a0
a0
a1
a m 1
a1
a m 1
am
am
b0
b0
b1
b n 1
b1
b n 1
bn
bn
am
S
bn
על פי הקריטריון של סילבסטר ,ל Qx -ו Px -קיים ְמחַ לֵק משותף (במילים אחרות -קיים
פתרון) שונה מ 6-אם ורק אם . det S 0
לדוגמא:
בהינתן
הפולינומים
gx b 2 x 2 b1 x b 3
f x a 3 x 3 a 2 x 2 a1x a 3מטריצת סילבסטר תהא:
ו-
184
ד"ר ניר שוולב
מבוא לרובוטיקה
0
a0
0
0
b 0
a0
a1
0
a1
a2
b0
a2
a3
b1
b0
b1
b1
b2
b2
0
a3
0
S b2
0
0
ולכן קיים פיתרון למערכת המשוואות אם ורק אם . det S 0ואמנם עבור gx b 2 x 2 1
ו f x a 3 x 3 1 -נקבל det S b aכלומר קיים פתרון רק במקרה בו , b aובמקרה
6
6
זה הפתרון יהא . x 1/ a
בספרות ,הדטרמיננטה של מטריצת סילבסטר קרויה ה – Resultantשל Qx וPx -
ומסומנת ב. resP, Q-
הקריטריון של סילבסטר יסייע לנו כעת בפתרון מערכת המשוואות הפולינומיאליות
f x, y 0ו gx, y 0 -המשוואות בדרגות mו n -בהתאמה , 40נדגים כיצד:
.1נציג את המשוואות f x, y 0וgx, y 0 -
n
בצורה-
Qx bi x i 0ו-
i 0
m
Px a i x i 0כאשר המקדמים
i 0
) b i b i ( yו , a i a i ( y) -תהיינה למעשה
פונקציות של המשתנה .y
.2נבנה את המטריצה של סילבסטר Sבאופן זהה לזה שתואר לעיל.
.3מהבניה נובע ,אם כן ,ש det S 0 -הוא פולינום ב . yנפתור אותו אנליטית אם הדבר
אפשרי או נומרית ,אם לאו .הפתרון יהיה ,על פי קריטריון סילבסטר ,התנאי לקיום
פתרון ל.x-
.4מעתה נתייחס לחזקות 1, x, x 2 , x 3 ,, x n ,, x mכאל רשימת נעלמים .ולמערכת
0
T
s 1, x, x 2 , x 3 ,, x n ,, x mn 1כאל מערכת משוואות ליניארית .נציב את
n
m
i 0
i 0
הפתרון ל Qx bi x i 0 -ול Px a i x i 0 -ונפתור את המערכת כמערכת
משוואות ליניארית (נמצא את .) x, x 2 , x 3 ,, x n ,, x mn 1
.5נבדוק אילו מהפתרונות אמיתיים .כלומר אילו מן הפתרונות מקיימים אמנם x 2 x 2
וכו'.
40על פי משפט Bézoutבמצב זה קיימים לכל היותר mnפתרונות x, y למערכת זו.
ד"ר ניר שוולב
מבוא לרובוטיקה
דוגמא :נתונות שתי המשוואות הפולינמיאליות:
a 4 y 2 a 3 xy a 2 x a 1 y a 0 0
b 4 x 2 b 3 xy b 2 x b1 y b 0 0
נשכתב את המשוואות ונקבל על פי ( )6ונקבל:
Bx C 0
A' x 2 B' x C' 0
כאשר B a 3 y a 2 , C a 4 y 2 a1 y a 0וC b1 y b 0 , B' b 3 y b 2 , A' b 4 -
מטריצת סילבסטר תהיה:
0
C
C' 0
B' C'
C
B
לשם דוגמא נניח ש a i b i 1
0 B
0 0
S
'A' B
' 0 A
לכל .iהתנאי של סילבסטר לקיום פתרון
יהא det S 2y 2 2y 1ופתרונותיה . y 1/ 2 i / 2הצבת הפתרון y 1/ 2 i / 2
למערכת המשוואות המקורית תניב:
1 x i 0
2x 2 i 0
שפתרונה כמערכת משוואות לינארית ב x, x 2יהיה x 1/ 2 i / 2ו x i / 2 -וזהו
2
פתרון קביל .הצבת הפתרון y 1/ 2 i / 2למערכת המשוואות תניב פתרון קביל נוסף.
הערה :שימו לב שמטרת סעיפים 6-0להוריד ב 6-את מספר הנעלמים .את אלגוריתם לפתרון
ניתן ליישם איטרטיווית על מערכת מרובת משתנים להוריד את מספר המשתנים:
דוגמא :נתונות שתי המשוואות הפולינומיאליות
x 32 y 2 5 m2 0
x 32 y 2 5 m2 0
נשכתב את מערכת המשוואות כאשר mיהיה המשתנה ו x,y-פרמטרים באופן הבא:
16
2
10m x
m 2 10m x 2 6x y 2 16 0
0
ולכן:
2
6x y 2
2
m2
185
186
ד"ר ניר שוולב
מבוא לרובוטיקה
0
2
2
2
x 6x y 16
0
2
2
2
x 6x y 16
2
x
6x y 2 16
10
2
2
x 6x y 2 16
10
2
1 10
0 1
S
1 10
0 1
נחשב את הדטרמיננטה ונקבל . det S 400 x 2 6x y 2 16 :התנאי לקיום פתרון
למערכת המשוואות יהא אם כן . x 2 6x y 2 16באופן זה הורדנו את מספר המשתנים ב
.6באם היו ברשותנו משוואות נוספות יכולנו להמשיך בתהליך.
הערה :סעיף 9באלגוריתם הפתרון הוא דרך פשוטה לקבלת מספר רב של משוואות
מהמשוואות הנתונות באמצעות הכפלתן בנעלמים; ולמעשה קיימות שיטות שונות לפתרון
באמצעות אלימינציה ואלו תקבענה קבוצות משוואות אחרות.
ד"ר ניר שוולב
מבוא לרובוטיקה
נספח ב' :תכנון תנועה (על קצה המזלג)
הכותרת של הנספח מטעה מעט ,למעשה עיקר דיוננו בנספח ייסוב על הדרכים "להחליק"
מסלול רצוי .נציג בקצרה את הדרכים ליצירת תכנון תנועה ) .)Motion Planningבעיית
התכנון מוגדרת בספרות במגוון דרכים .41לשם שלמות הדיון נציג ראשית דוגמא לבעיית
תכנון תנועה במרחב התפסנית ).(End effector motion planning scheme
דוגמא :עבור רובוט RRמישורי יש לתכנן את תנועת התפסנית כך שתסתובב במעגל ברדיוס
Rשמרכזו ב x 0 , y 0 ובמהירות קבועה . v 0
תשובה :אנו מעוניינים במיקום התפסנית בלבד ! .בעיית תכנון תנועה במרחב התפסנית
פשוטות יחסית ,ופתרונן נסמך על פתרון בעיית הקינמאטיקה ההפוכה:
מסלול התפסנית הרצוי נתון
y y0 R sin t
)(1.B
באמצעות
גזירה
x x 0 R cos t
נקבל y Rcos t
v 0 x 2 y 2 Rולכן . v 0 / R
המשוואות (ראו פרק y L1s1 L 2 s12 )9
x Rsin t,
כלומר
מצד שני הקינמטיקה הישירה נתונה בצמד
. x L1c1 L 2 c12 ,
פתרון בעיית הקינמטיקה ההפוכה נתון ב:
1 atan2y, x atan2L 2 s 2 , L1 L 2 c 2
2
)(2.B
נציב את משוואה
x 2 y 2 L1 L 2
2L 1 L 2
2
2
c2
s2 1 c2
) (B.1ב ) (B.2בכדי לקבל את ערכי הזוויות הדרושות .אם נציב
L1 100, L 2 80, (x 0 , y 0 ) (150,0), R 30נקבל את ערכי המפרקים שבגרף.
41ההגדרות השונות גוררות שיטות טיפול שונות .בין השאר נמנה את בעיות תכנון התנועה במרחב המפרקים,
במרחב העבודה ,בעיות של הימנעות ממכשולים בגיאומטריות קבועות ,בעיית הימנעות ממכשולים בתנועה,
בעיית הימנעות מהתנגשות עצמית (עבור רובוטים יתירים).
187
מבוא לרובוטיקה
188
ד"ר ניר שוולב
נתמקד ,כעת ,בבעיית תכנון התנועה במרחב המפרקים (( )Joint Schemeמרחב
הקונפיגורציה) .לשם בהירות נגדיר שוב את המושג הקונפיגורציה (שדנו בו בהרחבה בפרק
.)69
הגדרה :בהינתן רובוט טורי או מקבילי כללי בעל מוביליות ,nקיימים nמפרקים
q1 , q 2 ,..., q nאשר אם נקבע אותם יִ קבָּ ע הרובוט מבלי אפשרות לזוז .ווקטור הערכים של
המפרקים C q1 , q 2 ,..., q n Tנקרא הקונפיגורציה של הרובוט.
בעיות תכנון התנועה הן בעיקרן בעיות ִהמָּ נְ עּות .ובדרך כלל יודע המתכנן לבחור סדרת נקודות
בהן מותר לרובוט להימצא (לעיתים קרובות עיקר הבעיה היא בבחירתן) .לרוב ירצה המתכנן
לקבל תנועת מפרקים חלקה העוברת דרך כל הנקודות הללו (הן מסיבות טכניות שיפורטו
בהמשך ,מסיבות אסתטיות ומטעמי ממשק אדם מכונה) .נוכל אם כן לנסח את הבעיה:
הגדרת הבעיה :יהי C 0 , C1 ,, C nרצף קונפיגורציות שנרצה להגיע אליהן בנקודות זמן
t 0 , t 1 ,, t nמוגדרות .יש לבנות עקום תנועה רציף במרחב הקונפיגורציה Ct כך ש:
א .העקום עובר דרך כל הנקודות . Ct 0 C 0 , Ct 1 C1 ,, Ct n C n
t C
ב t 0 .
C
0
n
t , C
ג .הפונקציות t
Cתהיינה רציפות.
בעיית תכנון התנועה במרחב המפרקים ,אם כן ,יכולה להתפרש בשני אופנים:
ד"ר ניר שוולב
מבוא לרובוטיקה
.1במרחב הקונפיגורציה (איורים ימני ואמצעי) זוהי בעיית בחירה של עקום פרמטרי Ct
העובר דרך nנקודות נתונות . Ct 0 C 0 , Ct 1 C1 ,, Ct n C nעם שתי
ההגבלות (ב) ו(-ג).
.2במרחב הרובוט (איור שמאלי) פתרונה יהא קביעת ערכי המפרקים לאורך פרק זמן ,כך
שבכל אחת מנקודת הזמן הנתונות
, t 0 , t 1 ,, t nמפרקי הרובוט נתונים כ-
. Ct 0 C 0 , Ct 1 C1 ,, Ct n C nעם הגבלה שבראשית המסלול המפרקים
מאיצים ממנוחה וחוזרים למנוחה בסופו .הדרישה (ג) לרציפות מהירות המפרקים
ותאוצתם נובעת משתי סיבות:
א .כיוון שאת מצב המפרקים קובעים מנועים בעלי כוח (מומנט) מקסימאלי נתון,
Cתהיה חסומה .ולכן ברור ש t -
כלומר עלינו לדרוש מתכנון התנועה ש t -
C
(שמתקבל מהאינטגרל של t
) Cרציפה.
ב .התאוצה t
Cנקבעת מהזרם המסופק למנוע ,ועדיף שזה האחרון יהיה רציף
בזמן .ומכאן שעל התאוצה להיות רציפה.
התוכנות המתמטיות MatLabו Maple-מציעות מגוון כלים
לפתרון בעיית ההחלקה נעמוד על שניים :הראשון היא קירוב
פולינומיאלי ) (Polyonmial Interpolationכלומר זוהי גישת
אינטרפולציה 42פולינומיאלית על סדרת הנקודות בקטע סגור.
עבור בעיית תכנון התנועה ברובוטיקה השיטה מציגה חיסרון
ברור .חסרונה נעוץ בעובדה שלפולינום מסדר גבוה אופי תנודתי
(התופעה נקראת ע"ש Carl Rungeובבסיסה העובדה
שלפולינום ממעלה n+1יש " nתנודות") ללא קשר לפונקציה
אותה הוא מקרב .האיור שמשמאל מדגים (מלמעלה למטה)
קירוב פונקצית מַ ְד ֵרגָּה באמצעות פולינומים ְמדרגה 0,5,3ניתן
לראות בבירור שבעטיה של תופעת Rungeהקירוב לפולינום
מסדר גבוה חורג בהרבה מהרצוי.
גישה אלטרנטיבית לקירוב היא אינטרפולציה
פולינומיאלית הנמנעת משימוש בפולינומים ממעלה
גבוהה .אינטרפולציה כזו מתקבלת על ידי חלוקת
הקטע לאוסף של תתי קטעים ובניית פולינום
ִ 42אינְטֶ ְרפ ֹול ְַציָּה ,בִ ּיּוןִׁ ,ש ְרבּוב ,אומדן של ערכי ביניים על פי ערכי הקצה.
189
191
ד"ר ניר שוולב
מבוא לרובוטיקה
אינטרפולציה לפי קטעים .קירוב באופן זה נקרא קירוב פולינומיאלי בחלקים .יתרונה של
השיטה שהיא מאפשרת שימוש בפולינומים ממעלה נמוכה בכל תת קטע ובאופן זה מקטינה
את התנודתיות .הסוג הפשוט ביותר של קירוב פולינומיאלי בחלקים נקרא אינטרפולציה
לינארית בחלקים והוא מתייחס לסדרת נקודות אשר מחוברות ביניהן ע"י סדרה של קוים
ישרים.
ההנחה שבין כל זוג צמתים (נקודת אינטרפולציה) הפונקציה ניתנת לקירוב ליניארי היא
סבירה בתנאי שהפונקציה רציפה והנקודות סמוכות דיין זו לזו ,אך הקירוב אינו מתאים אם
הדרישה ל"חלקּות" חשובה .במקרה זה נקבל בכל צומת משותפת לשני תתי קטעים פינה
משוננת שמקורה באי רציפות הנגזרת הראשונה בצומת זו .סוג נפוץ יותר של קירוב
פולינומיאלי בחלקים ,המבטיח רציפות של הנגזרת הראשונה והשנייה בצמתים (ובכך מבטיח
קירוב "חלק") מתקבל ע"י אינטרפולציה המבוססת על פולינומים ממעלה – 0אינטרפולציית
Spline
43
בכל תת קטע בין שתי נקודות אינטרפולציה עוקבות (מנאיור התחתון ניתן
להיווכח ביתרון שבאינטרפולצית ְ Splineמדרגה שלוש על פני אלו בדרגה אחד (אינטרפולציה
ליניארית – איור עליון) וזו בדרגה שניים (ראה איור אמצעי – הנגזרת הראשונה אמנם חלקה
אבל עדיין קיימות אי רציפויות בנגזרת השנייה ואלו מתורגמות ל"שבירות" לא עדינות
בתוצאה הסופית) -לפולינום ממעלה שלוש ישנם ארבעה פרמטרים וזה מתיר מרחב גמישות
המבטיח לא רק שהאינטרפולטור גזיר ברציפות בקטע ,אלא גם שהנגזרת השנייה שלו רציפה
בקטע.
הרעיון הכללי :יהי I a, bקטע ותהיינה a x 1 x 2 x n bנקודות בתוכו,
אשר להן מתאימים הערכים . y1 y 2 y nנחלק את הקטע ל n 1 -תת חלקים
. I k x k , x k 1
בכל
תת
קטע
נבנה
פולינום
מדרגה
שלוש
, y k (x) A k x 3 Bk x 2 C k x D kכך שהפולינומים ייפגשו באופן "ידידותי" כלומר
נדרוש:
שהפולינומים יעברו בנקודות כלומר ש y k (x k ) y k -לכל . k
שהפולינומים ייפגשו באופן רציף אחד את השני y k (x k 1 ) y k 1 (x k 1 ) -לכל . k
שהנגזרות הראשונות תהיינה רציפות y k ' (x k 1 ) y k 1 ' (x k 1 ) -לכל . k
שהנגזרות השניות תהיינה רציפות y k ' ' (x k 1 ) y k 1 ' ' (x k 1 ) -לכל . k
43מקור המושג Splineלקוח מהדרך בה נהגו בעבר ליצור עקומות בתעשייה .המתכנן היה מניח מספר ְׁשג ִָּמים
) (Splinesע"ג לוח ,ומותח מוט אלסטי באופן שזה האחרון יעבור דרך סדרת השגמים וייצוֹר עקום חלק ויפה.
מבוא לרובוטיקה
ד"ר ניר שוולב
דרישתנו האחרונה (ראה הגדרת הבעיה) היא ש( y n 1 ' (x n ) y1 ' (x1 ) 0 -נוכל
לבחור דרישה אחרת אם נדרש לכזו – ובלבד שתקבע שתי דרגות חופש)
הערה :נשים לב שהבניה של ספליין מדרגה שלוש איננה מניחה כי הנגזרות של
האינטרפולטור מתלכדות עם אלו של הפונקציה ,אפילו בנקודות האינטרפולציה.
כאמור התוכנות המתמטיות
Mapleו Matlab-מציעות פונקציה מוכנה לחישוב
אינטרפולציית ,Splineנדגים כעת את השימוש בהן ב :Matlab
דוגמא :נתון רובוט הזחל ,446Rהמודגם בתמונה (ראה גם [ .)]6מטרתו
לטפס על קירות אנכיים בתנועות המחקות תנועות זחל .מרחב
הקונפיגורציה של הרובוט חּושב והמתכנן מעוניין בתנועת היפוך
(כלומר קצה תחתון יתהפך ויהפוך להיות קצה עליון ,כמודגם באיור)
שתהא מינימאלית בצריכת ההספק מן המנועים .לשם כך ידועה סדרת
נקודות הביניים המתוארת באיור .התזמון של התנועה נתון בווקטור
] . t ( 1,2,3,5,8,11,12,16,19)[secבכדי להחליק את התנועה ,יש
לבצע אינטרפולציית .Spline
פתרון :נבצע אינטרפולציית Splineלכל אחד מן המנועים בנפרד לשם כך נשתמש ב :Matlab
ראשית על פי האיור נוכל לקבל את ווקטור הזוויות הרצויות בכל מפרק.
;]Theta(1,:)=[-90 -90 -90 -90 -45 90 90 90 90
;] Theta(2,:)=[3 3 3 3 3 3 3 3 3
;] Theta(3,:)=[3 3 95- 63- 63- 3 3 3 3
;] Theta(4,:)=[3 3 3 3 3 3 95 3 3
;]Theta(5,:)=[0 -45 -45 -90 -90 -90 -90 0 0
;]Theta(6,:)=[-90 -90 -90 -90 -90 -90 -90 -45 90
;]T=[ 1 2 3 5 8 11 12 16 19
נגדיר ווקטור זמנים צפוף לחישוב ערכי האינטרפולציה:
;t=1:0.1:19
44הרובוט תוכנן ונבנה במעבדה לקינמאטיקה וגיאומטריה חישובית במרכז האוניברסיטאי באריאל .מעניין
לציין כי בגלל אופי התנועה המיוחד הנדרש נדרשת אנליזה של רובוטים טוריים בצעידה ,ואנליזה לרובוטים
מקביליים בעת אחיזה.
191
192
מבוא לרובוטיקה
ד"ר ניר שוולב
האינטרפולציה מתבצעת באמצעות פקודת Splineשמקבלת את ווקטור הזמנים המקורי,
וקטור הערכים המקורי וְ וקטור הזמנים הרצוי .נבצע זאת על כל מפרק בנפרד:
for i=1:6
;)smooth_Theta(i,:)=spline(T,Theta(i,:),t
;)subplot(3,2,i
plot(T,Theta(i,:),'o');hold on; plot(t,smooth_Theta(i,:),'r');hold off
;))title(num2str(i
end
ומתקבלים הגרפים:
ד"ר ניר שוולב
מבוא לרובוטיקה
193
נספח ג' :דינאמיקה (על קצה המזלג)
לאורך כל יריעת הספר עסקנו בפן הקינמטי באנליזת רובוטים והתעלמנו מאפקטים של תנע,
תנע זוויתי ,וחיכוך .כעת ,נציג בקצרה את משוואות אוילר לגרנז'
45
)(Euler-Lagrange
הדיפרנציאליות השולטות כאשר אלו האחרונים אינם ברי הזנחה וכאשר מערכת האילוצים
הולונומית:
הגדרה :מערכת הולונומית ) (Holonomicהיא מערכת שניתנת לתיאור באמצעות מערכת
משוואות מהצורה . f q1 , q 2 ,, q n , t 0כאשר q1 , q 2 ,, q n , tהם הקואורדינאטות
פרקטית מערכת רובוטית נקראת
המוכללות של המערכת ופרמטר הזמן ,בהתאמה.
הולונומית אם מספר הפרמטרים המבוקרים גדול או שווה למוביליות ,אחרת המערכת
נקראת לא הולונומית.
דוגמא )6( :משוואת האילוץ למטוטלת פשוטה באורך Lהיא q1 q 2 L :ולכן
2
2
המערכת הולונומית )9( .הקינמטיקה הישירה עבור כל הרובוט שהוצגו בספר היא מהצורה
. f q1 , q 2 ,, q n 0לכן כולן מערכות הולונומיות (בכל המערכות מספר הפרמטרים
המבוקרים שווה למוביליות) )0( .מכונית היא בעלת שלוש דרגות חופש ) ( x, y, אבל כיוון
שלרשותה רק זוג פרמטרים מבוקרים -התאוצה הלינארית וכוון ההגה ) . (x, המכונית ,אם
כן ,איננה מערכת הולונמית.
נדמיין טיל המשוגר לאוויר .הכוחות הפועלים על הכדור הם כוח הכבידה הפועל מטה וכוח
הדחף הפועל כלפי מעלה.כידוע ,על פי החוק השני של ניוטון משוואת התנועה של הכדור היא
. my F mgמאחר ולרוב מרכיבי האנרגיה קלים יותר לחישוב מהביטויים לכוחות,
מטרתנו תהיה לנסח את המשוואה במונחים של אנרגיה קינטית ואנרגיה פוטנציאלית .נשים
2
d
לב שעבור אגף שמאל של המשוואה נוכל לרשום my d my
dt
dt y 2
d
עבור האגף הימני נוכל לרשום mgy
dy
התנועה
במונחי
my 2
, P mgy
2
אנרגיה:
.) K
. F mg F נוכל אם כן לנסח את משוואת
d my 2 d
mgy F
dt y 2 dy
כעת
אם
. my
נגדיר
את
(פוטנציאלית
הלגרנז'יאן
וקינטית
)(Lagrangian
כ:
45אוילר ולגרנז' קיבלו את מערכת המשוואות הדינאמית במהלך ניסיון למצוא עקומה איזוכרונית )Curve
.)Isochroneאשר פרק הזמן הלוקח לגוף להחליק עליה עד לנקודה הנמוכה ביותר בה ,קבוע ,ואינו תלוי
במיקומו ההתחלתי.
194
מבוא לרובוטיקה
my 2
mgy
2
ד"ר ניר שוולב
L( y, y ) כלומר כהפרש בין האנרגיה הקינטית לזו הפוטנציאלית נוכל לנסח
d
את משוואת התנועה בניסוח אוילר לגנז'L L F :
dt y
y
.
באותו אופן נוכל לרשום את מערכת משוואות אוילר לגרנז' עבור רובוט:
d
D
Lq, q
Lq, q
Fi
dt q i
q i
q i
)(C.1
כאשר
46
Fi , Lq, q Kq, q Pq הכוחות המוכללים החיצוניים הפועלים על דרגת
D
החופש ה ( . q iשימו לב שהוספנו את האיבר
q i
שלעיתים מתברר כשימושי .הביטוי D
מציין את הפסדי האנרגיה הנובעים מחיכוכים במערכת).
דוגמא :עבור הרובוט RRשבאיור נתון שמרכז המסה של
כל אחד מן החוליות ממוקם במרכז החוליה .מסת החוליות
m1 , m 2ומומנטי האינרציה המתייחס לסיבובים במישור
הדף הם , I1 , I 2אורכן של החוליות . L1 , L 2נרשום את
משוואות התנועה המתאימות .לשם כך נחשב ראשית את
הלגרנז'יאן:
1 L 1 c1
מיקום מרכז המסה של החוליה הראשונה נתון בביטוי
2 L1s1
.מיקום מרכז המסה של
L c L 2 c12 2
החוליה השנייה נתון בביטוי :
. 1 1גזירת הביטויים האלו על פי הזמן תניב
L1s1 L 2 s12 2
2
L 2
את המהירויות הקוויות 1 1 :
2
2
2
1 L s
v1 1 1 1ועבור החוליה השנייה
2 L1c1
2
L s L 2 s12 2
1 2
1 1
L1c1 L 2 c12 2
L
) 2L1 2 1 1 2 cos( 2
2
האנרגיה הקינטית אם כן נתונה כ:
46עבור מכאניקה קלאסית.
2
2
2
v2
L
2
2
L1 1 2 1 2
2
ד"ר ניר שוולב
מבוא לרובוטיקה
195
2
2
1
L
2L1 2 1 1 2 cos( 2 ) I 2 1 2
2
2
2
1 L1 1 2
m1 1 I11
2 2 2
K1
2
1 2 2 L 2
m 2 L1 1 1 2
2
2
K2
האיבר הראשון במשוואה הראשונה מתאר את חלק האנרגיה הקינטית הנובע ממהירות
קווית של מרכז המסה של החוליה הראשונה .האיבר השני במשוואה הראשונה מתאר את
חלק האנרגיה הקינטית הנובע ממהירות זוויתית של החוליה הראשונה .האיבר הראשון
במשוואה השנייה מתאר את חלק האנרגיה הקינטית הנובע ממהירות קווית של מרכז המסה
של החוליה השנייה.האיבר השני במשוואה השנייה מתאר את חלק האנרגיה הקינטית הנובע
ממהירות זוויתית של החוליה השנייה.
האנרגיה הפוטנציאלית נתונה כ:
L
L
P m1g 1 sin(1 ) m 2 g L1 sin(1 ) 1 sin( 2 )
2
2
נציב בביטוי ללגראנז'יאן ונקבל L K1 K1 P :נציב במשוואה ( )C.1ונקבל את מערכת
המשוואות:
L
2 L2 2
L
2
M1 m1 I1 m 2 L1 2L1 2 cos( 2 ) I 2 1
2
2
2
L 2
L
m 2 2 L1 2 cos( 2 ) I 2 2
2
2
L
L
2
m 2 L1 2 sin( 2 ) 2 1 2 2 m1g 1 cos(1 )
2
2
L
m 2 g L1 cos(1 ) 2 sin(1 2 )
2
L 2
L
L
M 2 m 2 2 L1 2 cos( 2 ) I 2 1 m 2 2 I 2 2
2
2
2
L 2
L
) m 2 L1 2 1 m 2 g 2 cos(1 2
2
2
כאשר M1 , M 2מציינים את המומנטים החיצוניים המופעלים על החוליות .המשוואות
שקיבלנו מייצגות אם כן ,את המומנטים הדרושים להנעת הרובוט כאשר השילוב בין המסות,
מומנטי האינרציה של החוליות ,המהירויות הזוויתיות והתאוצות הזוויתיות אינו זניח.
ד"ר ניר שוולב
מבוא לרובוטיקה
רשימת מקורות
[1] J. Craig, (1989), "Introduction to Robotics", Mechanics and control, 2nd
edition, Addison-Wesley Publishing Company, Reading MA.
[2] R. P. Paul, (1989) "Robot Manipulators. Mathematics, Programming and
control", The MIT Press, Cambridge, MA.
[3] L.W. Tsai, (1999) "Robot Analysis", John Wiley & Sons.
[4] J. Angeles, (2002), "Fundamentals of robotic Mechanical Systems, Theory,
Methods and Algorithms", 2nd Edition, Springer-Verlag, NY.
[5] M. Spong and M. Vidyasagar, (1989), ”Robot Dynamics and Control”, John
Wiley and Sons, ISBN 047161243X.
[6] A. Ghosal, (2006), "Robotics", Oxford University Press.
[7] S. M. LaValle, (2006), "Planning algorithms", Cambridge University Press.
[8] A. Shapiro, E. Rimon, S. Shoval,(2005), “PCG: A Foothold Selection
Algorithm for Spider Robot Locomotion in 2D Tunnels”, International Journal of
Robotics Research, Vol 24, No. 10, pp. 823-844.
[9] O. Medina, N. Shvalb and B. Ben Moshe (2009), "A caterpillar climbing
robot for traversing metal trusses", Preprint.
[10] T. Lauwers, G. Kantor, R. Hollis (2006). "A Dynamically Stable SingleWheeled Mobile Robot with Inverse Mouse-Ball Drive". IEEE International
Conference on Robotics and Automation.
[11] R. Ben-Horin, M. Shoham and S. Djerassi, (1998), "Kinematics, Dynamics
and construction of a planarly actuated parallel robot", Robotics and ComputerIntegrated Manufacturing, , Vol 14.
[12] J. M. R. Martinez, B. Ravani, (2003), "On Mobility Analysis of Linkages
Using Group Theory", Journal of Mechanical Design, Vol. 125.
]13[ H.E. Bez, (1983), "Homogeneous Coordinates for Computer Graphics",
Computer-Aided Design 15 (6), pp. 361-365.
[14] H. Goldstein, (1980), "Classical Mechanics, 2nd edition"., Addison-Wesley.
ISBN 0-201-02918-9
196
197
ד"ר ניר שוולב
מבוא לרובוטיקה
[15] N. Shvalb, D. Blanc and M. Shoham, (2005), "The Configuration Space of
Arachnoid Mechanisms", Forum Mathematicum 17 pp. 1033-1042.
[16] A. Wolf, H. Choset, B. Brown, W. Randall (2005), "Design and control of a
mobile hyper-redundant urban search and rescue robot", Advanced Robotics,
Volume 19, Number 3, 2005 , pp. 221-248(28)
]17[ K. Y. Tsai and K. D. Huang, (2003), "The design of isotropic 6-DOF
parallel manipulators using isotropy generators", Mechanism and Machine
Theory, Volume 38, Issue 11, pp. 1199-1214
]18[ J.K Salisbury, (1982), "Kinematics and force analysis of articulated hands",
Ph.D Thesis, Stanford University
[19] D. H. Gottlieb, (1987), "Robots and fibre bundles". Bull. Soc. Math. Belg.
Sér. A, 38:219-223.
[20] M. Shoham, I.H. Lieberman, E.C. Benzel, D. Togawa, E. Zehavi, B.
Zilberstein, M. Roffman, A. Bruskin, A., Fridlander, I., Joskowicz, S., BrinkDanan, and N. Knoller, (2007), "Robotic assisted spinal surgery - from concept to
clinical practice" Computer Aided Surgery, Vol. 12, No. 2, pp. 105–115.
[21] D. Zlatanov, R.G. Fenton, and B. Benhabib, (1998), "Identification and
classification of the singular configurations of mechanisms", Mech. Mach.
Theory, 33 743-760.
[22] D. Zlatanov, I.A. Bonev, and C.M. Gosselin, (2002), "Constraint
Singularities as C-Space Singularities," 8th International Symposium on
Advances in Robot Kinematics (ARK 2002), Caldes de Malavella, Spain, 24–28.
[23] G. Yang, W. Chen and I. Chen, (2002), "A geometrical method for the
singularity analysis of 3-RRR planar parallel robots with different actuation
schemes" Intelligent Robots and System. IEEE/RSJ International Conference.
Vol. 3, pp 2055- 2060.
[24] S. Celso, T. Filho, E. Lobo L. Cabral , (2002), "Kinematics and Workspace
analysis of Parallel Architecture Robot: the Hexa" ABCM Symposium Series in
Mechatronics Vol. 2, pp.158-165.
. הוצאת אוניברסיטת חיפה," "טופולוגיה אלגברית,)9339 (תשנ"ב,[ ד"ר דוד בלנק25]
[26] W. Fulton, (1995), "Algebraic Topology: A First Course", Graduate Texts in
Mathematics, Srpinger-Verlag.
הוצאת,"ג,ב, כרכים א: "טופולוגיה קבוצתית,)1997 (תשנ"ז,[ ד"ר דניאלה ליבוביץ27]
.האוניברסיטה הפתוחה
ד"ר ניר שוולב
מבוא לרובוטיקה
[28] M. Farber, (2008), "Invitation to Topological Robotics (Zurich Lectures in
Advanced Mathematics)", Monograph, European Mathematical Society.
[29] D. Blanc, N. Shvalb (2009), "Coniguration space of parallel robots".
Preprint.
[30] D. Jordan, M. Steiner, (1999), "Configuration Spaces of Mechanical
Linkages" Discrete and Computational Geometry Vol. 22, 297-315.
[31] A. B. Kempe, (1875), "On a General Method of Describing Plane Curves of
the nth Degree by Linkwork", Proc. London Math. Soc., Vol. 7.
[32] E. Rimon, D. E. Koditschek, (1992), "Exact Robot Navigation Using
Artificial Potential Fields", IEEE Transactions on Robotics and Automation,
8(5):501-518.
[33] Abraham NJ, Wolf A, Choset H, (2006), “A Potential Function Approach to
Surface Coverage for a Surgical Robot”, Journal of Computer Aided Surgery,
11(1):1-9.
[34] A. Abrams, R. Ghrist, (2002), "Finding Topology In a Factory Configuration
Spaces" American Mathematical. Monthly, vol. 109 no. 2 pp. 140–150
198
199
ד"ר ניר שוולב
מבוא לרובוטיקה
רשימת כתבי העת ברובוטיקה
IEEE Transactions on Robotics.
International Journal of Robotics Research.
Mechanism and Machine Theory.
IEEE International Journal of Robotics and Automation.
Journal of Robotic Systems.
IEEE Transactions on System, Man and Cybernetics.
Robotics Today.
The industrial Robot.
Transactions of ASME (American Society of Mechanical Engineering), Journal of
Mechanical Design.
מבוא לרובוטיקה
211
ד"ר ניר שוולב
אינדקס
A
P
................. ................................ AGVראה רכב רובוטי
8 ...................................... mechanism Antikythera
41 ................................. ................................ atan2
131 .................. ................................ Parallelogram
178 ................................... Piano mover's problem
123 ....................................... positive semidefinite
181 ................. ................................ Potential Field
181 ................................. ................................ PRM
141 .......................... ................................ Backlash
22 ........... ................................ Bennet Mechanism
R
B
185 ......................... ................................ Resultant
C
S
161 .................. ................................ Coupler curve
93–188 ........................ ................................ Spline
D
T
................................... Dexterityראה מרחב המיומנות
182 TC
E
V
.......... ................................ Encodersראה מקודדים
181 ................ ................................ Visibility Graph
K
א
174 .................. ................................ Alfred Kempe
M
192 ,191 ,174 ,153 ,138 ,133 ,132 ,41......... Maple
191 ,85 ,49 ................ ................................ MatLab
146 .............................. ................................ MEMS
171 ................... ................................ Möbius band
אוריינטציה 27 ........................... ................................
אייזיק אסימוב 8 ....................... ................................
אלימינציה של סילבסטר 184 ......... ................................
אליפסת כוחות 122 ..................... ................................
אנגלברגר ודבול 9 ...................... ................................
אנליזה לינארית 114–88 .............. ................................
אנליזת גמישות 33–127 .............. ................................
אנליזת מהירות 114–88 ............... ................................
אנליזת קשיחות 33–127 .............. ................................
אנקודר ................ ................................ראה מקודדים
N
..................................... Null Spaceראה מרחב האפס
ב
בחירת פתרון לקינמטיקה ההפוכה 71 ..............................
בסיס אורתונורמאלי 26 ................ ................................
בקר 141 ................................... ................................
מבוא לרובוטיקה
בקרה 141 ................................. ................................
ג
גמישות 33–127 ........................ ................................
גנוס 171 ................................... ................................
גרובלר קוצבאך 19 ..................... ................................
ד
דנביט והרטנברג 54 ,53 ,52 .........................................
דרגות חופש 11 ......................... ................................
דרך וירטואלית 116 .................... ................................
ה
ד"ר ניר שוולב
טראנספרומציית
שרשור 52 ............................ ................................
טרנספורמאציית
גוף קשיח 32 ......................... ................................
הומוגנית 33 .......................... ................................
הזזה 28 ............................... ................................
סיבוב 91 ,31 ,29 ,28 ............ ................................
שיקוף 28 ............................. ................................
שרשור 37 ............................ ................................
טרנספורמצית גוף קשיח 28 ........... ................................
י
יחידת הקצה 23 ,11 .................. ................................
יחס בין ישרים 51–51 ................. ................................
יחס שקילות 168 ........................ ................................
יעקוביאן 155 ,114–88 ............... ................................
יעקוביאן לא ריבועי 112 .............. ................................
יריעה 172 ................................. ................................
יריעה חלקה 173 ........................ ................................
יתרון מכאני 123 ,117 ................ ................................
הגולם מפראג 7 ......................... ................................
הדבקה 169 ............................... ................................
הדירות 144 ,134 ....................... ................................
הומאומורפיזם 168 ..................... ................................
הומוטופיה 171 ........................... ................................
היענות 129 ............................... ................................
המרחב החופשי 178 .................... ................................
הצבת tanחצי זווית 87 ............... ................................
הקריטריון של סילבסטר 185 ........................................
הרובוטים האוניברסלים של רוסום 8 ...........................
הֶ רון 8 ...................................... ................................
ל
ו
לגרנז'יאן 194 ............................ ................................
לינאריזציה 114–88 .................... ................................
ווקטור עצמי 34 .......................... ................................
ז
זוג קינמטי 15 ............................. ................................
זוויות אוילר 41 .......................... ................................
ח
חוליות 15 ,11 .......................... ................................
ט
טבלת חיפוש 67 .......................... ................................
טופולוגיה 72–162 ..................... ................................
טיפוסי סינגולאריות 155 .............. ................................
טראנספורמיית
שרשור 49–37 ...................... ................................
כ
כוחות מוכללים 116 .................... ................................
מ
מדד ההדירות 134 ....................... ................................
מדד המניפולטיביות 41–136 ,134 ,123 .........................
מדד הרזולוציה 143 ..................... ................................
מטריצה הומוגנית 33 ................... ................................
מטריצת גמישות 33–127 ............. ................................
מטריצת היענות 129 .................... ................................
מטריצת היעקוביאן 89 ................. ................................
מטריצת סיבוב 31 ....................... ................................
מטריצת קשיחות 33–127 ............ ................................
מטריקה 163 .............................. ................................
מטריקה מושרית 165 .................. ................................
מכונה 18 .................................. ................................
מכניזם 17 ................................. ................................
מכניזם ארבע מוטות 18 ................ ................................
מכניזם גנרי 21 ........................... ................................
מכפלה וקטורית 27 ..................... ................................
מכפלה סקלרית 26 ...................... ................................
מנגנון 17 .................................. ................................
211
מבוא לרובוטיקה
212
מניפולטיביות 41–136 ,134 ......... ................................
מסבך לא מסוים סטאטית 21 .......... ................................
מערכות צירים 37–26 ................. ................................
מערכת הולונומית 194 ................. ................................
מפעילים 11 .............................. ................................
מפרק 15 ................................... ................................
מפרק דיסטאלי 77 ,75 ................. ................................
מפרק פרוקסימאלי 75 .................. ................................
מפרקים 11 .............................. ................................
מפת הרזולוציה 142 .................... ................................
מקדם האיזוטרופיות 114 .............. ................................
מקודדים 141 ............................. ................................
מרחב האפס 118 ........................ ................................
מרחב המהירויות 116 .................. ................................
מרחב המיומנות 99 ,79 ,72 ,23 ....................................
מרחב המכשולים 178 .................. ................................
מרחב העבודה 99 ,82 ,72 ,62 ,23 ................................
מרחב הקונפיגורציה 172 ,83–162 ................................
מרחב טופולוגי 72–162 ,167 .......................................
מרחב מטרי 166 ......................... ................................
מרחב מכפלה 171 ....................... ................................
מרחק איקלידי 163 ..................... ................................
מרפק עליון ומרפק תחתון 74 ,67 ...................................
משוואת אוילר לגרנז' 194 ............ ................................
משפט 112 .................. ................................ Gottlieb
משפט 74 ....................... ................................ Pieper
משפט גלואה 67 ......................... ................................
משפט מיון ליריעות דו ממדיות 171 ................................
נ
נפח אליפסואיד 134 .................... ................................
נפח מקבילון 134 ........................ ................................
ס
סוגי מפרקים 16 ......................... ................................
סטנפורד 65 ............................... ................................
סינגולאריות טופולוגית 177 .......... ................................
סינגולאריות קינמאטית 14–115 ....................................
סכום מינקובסקי 179 ................... ................................
ע
עבודה וירטואלית 115 ................. ................................
פ
ּפאֹון 172 .................................. ................................
פומה 121 ,74 ............................ ................................
פיגמליון 7 ................................. ................................
ד"ר ניר שוולב
פלטה ניידת 147 ......................... ................................
פלטה נייחת 147 ......................... ................................
פלטפורמת סטיוארט ...........................ראה רובוט מסוג
פסוודו אינברס 112 ..................... ................................
פרנקנשטיין 8 ............................ ................................
פתירות 68 ................................. ................................
ק
קארל צ'אפק 8 .......................... ................................
קבוצה פתוחה 165 ...................... ................................
קואורדינטות מוכללות 51 ............. ................................
קונפיגורציה איזוטרופית 124 ,113 ................................
קטע סגור 165 ............................ ................................
קטע פתוח 165 ........................... ................................
קינמטיקה ישירה 66–51 .............. ................................
קשיחות 33–127 ........................ ................................
ר
רובוט 25–15 ............................ ................................
הגדרה 7 .............................. ................................
רובוט זחל 192 ........................... ................................
רובוט יתיר 192 ,69 .................... ................................
רובוט מסוג
21 .......................... ................................ Alizade
175 ,157 ........... ................................ Arachnoid
11 .......................... ................................ ASIMO
14 .......................... ................................ BallBot
11 ........................ ................................ De Vinci
146 ........................... ................................ Delta
112 ........... ................................ Eshed Robotics
11 ........................ ................................ Famulus
161 ,148 ................... ................................ Hexa
146 ......................... ................................ Mazor
35 ..................... ................................ Motoman
114 ,114 ,23 ............... ................................ PPP
115 ............................. ................................ PRR
121 ,74 ,71 ,9 .......... ................................ Puma
n
112 R
112 ,113 ,79 ,63 RP
131 ,118 ,99 ,66 ,64 ,23 ............................. RPP
87 ......................... ................................ RPPRRR
132 ,112 ,112 ,86 ,81 ,79 ,71 ,61 ,59 ,58.... RPR
151 ........................... ................................ 3RPS
,123 ,119 ,111 ,113 ,94 ,89 ,85 ,67 ,57 ,24 RR
195 ,188 ,142 ,132
,118 ,113 ,118 ,98 ,96 ,82 ,81 ,65 ,62 ,23... RRP
138 ,125
114 ,114 ................... ................................ RRPP
,132 ,124 ,121 ,112 ,86 ,85 ,72 ,64 ,55 ,23. RRR
136
מבוא לרובוטיקה
159 ,151 ,21 ............. ................................ 3RRR
137 ........................... ................................ RRRR
117 S
139 ,121 ,114 ,64 ,11 ............................... Scara
11 ............................. ................................ Spirit
65 ....................... ................................ Stanford
147 ,22 ................. ................................ Stewart
113 ,9 ................. ................................ Unimate
זחל192
זרוע סטנפורד 9 .................... ................................
רובוט מקבילי 62–146 ,21 ,21 ,18 ..............................
רובוט פתיר ............ ................................ראה פתירות
רובוט צילינדרי 66 ...................... ................................
רובוטי חוטים 147 ...................... ................................
רזולוציית מנוע 141 .................... ................................
רזולוציית רובוט 141 ................... ................................
רכב רובוטי 183 ,176 ................. ................................
רציפות 164 ............................... ................................
ד"ר ניר שוולב
ש
שרשור 32 ................................. ................................
שרשרת קינמטית 11 .................. ................................
שרשרת קינמטית היברידית 17 .......................................
שרשרת קינמטית סגורה 18 ,17 .....................................
שרשרת קינמטית פתוחה 17 .......... ................................
ת
תופעת החזרה המכאנית .........................ראה Backlash
תכנון תנועה 82–178 .................. ................................
תנועה רגעית 116 ....................... ................................
תפסנית 23 ................................ ................................
תרומת המהירות הזוויתית 93 ......... ................................
תרומת המהירות הקווית 93 ........... ................................
לציבור הקוראים :מטבע הדברים ודאי נפלו טעויות בגוף הספר .אשמח לקבל התייחסות לספר ובפרט לטעויות,
והארות מכל סוג שהוא .אנא פנו לדוא"ל . NirSh@Ariel.Ac.Ilתודה ובהצלחה.
213
© Copyright 2025