ד"ר ניר שוולב

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  35 - 1 - 5  5  1  2‬‬
‫כלומר‪ ,‬דרושים שני מנועים להנעת המכאניזם‪ .‬בחירת המפרקים שיפעילו את המכאניזם היא‬
‫שרירותית מבחינה קינמטית‪ ,‬בשלב זה‪ ,‬ונתונה לשיקולי המתכנן‪.‬‬
‫‪‬‬
‫דוגמא‪ :‬עבור המכאניזם המקבילי המישורי ‪RRRP‬‬
‫שבאיור‪ g=4 ,n=4 ,‬ו‪( f1=4 -‬המפרקים הסיבוביים והמפרק‬
‫הפריזמטי‬
‫כולם‬
‫בעלי‬
‫דג"ח‬
‫אחת)‪.‬‬
‫לכן‪:‬‬
‫‪ F  3 n - 1 - g    f i  i  34 - 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‬‬
‫; ‪F0‬‬
‫אולם בפועל ברור כי ‪ .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  6n - 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  614 - 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‬‬
‫טענה‪ :‬מטריצת רוטציה משמרת מכפלה סקאלרית‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ˆxR‬‬
‫הוכחה‪ˆ 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 RCB RC P‬‬
‫כאן "הצטמצמו" ה"‪ "B‬וה‪ "C"-‬ונותרנו שוב עם "‪."A‬‬
‫‪A‬‬
‫הערה‪ :‬הביטוי המשורשר ‪ AB RCB RDC 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‬עבור טרנספורמציית גוף קשיח‪,‬‬
‫אורתונורמאלי‪.‬‬
‫בסיס‬
‫‪ ‬‬
‫‪ Tx i   Td x i   x i  d‬וכן‬
‫ומכאן‬
‫ע"פ‬
‫הגדרה‬
‫ידוע‬
‫‪1‬‬
‫‪ Tx i  - T03i  x‬הינו‬
‫כי‬
‫‪‬‬
‫‪T0  Td 0  d‬‬
‫‪ Tx i  - T0i1  x i i1‬וברור כי זהו‬
‫‪3‬‬
‫‪3‬‬
‫בסיס כאמור‪ .‬‬
‫תאור מלא של טרנספורמציה יהא אם כן‬
‫‪P  AB R B P A PB orginal‬‬
‫‪A‬‬
‫העתקה (הוספת הווקטור‬
‫כלומר אנו מסובבים את מערכת הצירים ורק לאחר מכן מבצעים‬
‫‪PB orginal‬‬
‫‪A‬‬
‫המייצג את מיקום ראשית הצירים של המערכת‬
‫הניידת‪ ,‬ראה איור)‪ .‬הרעיון הוא לבנות טרנספורמציה יחידה ‪ , ABT‬שתתאר רוטציה‬
‫‪31‬‬
‫‪32‬‬
‫ד"ר ניר שוולב‬
‫מבוא לרובוטיקה‬
‫וטרנסלאציה יחדיו ולא כשילוב של הכפלה במטריצה וחיבור ווקטורי‪ .‬באופן זה נרצה לשרשר‬
‫טרנספורמציות כאלו עם רעיון "צמצום מערכות צירים" זהה לזה שדנו בו עבור רוטציות‪:‬‬
‫הגדרה‪ :‬מטריצה הומוגנית )‪ (Homogenous‬היא‬
‫‪d 31 ‬‬
‫‪‬‬
‫והעתקה) במרחב באופן הבא‪:‬‬
‫‪111  44‬‬
‫כזו המייצגת טרנספורמציה (סיבוב‬
‫‪ R 33‬‬
‫‪ 013‬‬
‫‪ , T  ‬כאשר ‪ R 33‬מטריצת סיבוב‪d 31 ,‬‬
‫‪d 21 ‬‬
‫וקטור הטרנסלאציה‪ .‬עבור המצב המישורי הטרנספורמציה תהא‪ :‬‬
‫‪111  33‬‬
‫‪R‬‬
‫‪. T   22‬‬
‫‪ 012‬‬
‫שימו לב כי הטרנספורמציה במרחב האוקלידי התלת ממדי הינה מטריצה ‪ ,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,3T‬חשב את ‪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 33  R k ‬‬
‫‪. Tk    k‬‬
‫תשובה‪:‬‬
‫‪‬‬
‫‪1‬‬
‫‪ 0‬‬
‫‪ 4x 4‬‬
‫‪ 9.66‬באיור מתוארות שתי אוריינטציות של‬
‫בלוק עץ‪ .‬מצא טרנספורמציה אחת‬
‫המתארת את המעבר ביניהן ע"י ציון‬
‫זווית הסיבוב הרצויה ווקטור סביבו‬
‫תתבצע הרוטציה‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫וזווית הסיבוב היא‬
‫תשובה‪ :‬הווקטור המציין את ציר הסיבוב הוא ‪1,1,1T‬‬
‫‪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,3T‬‬
‫מהם שיעוריה החדשים של נקודה שבמקור נכתבה כ‪-‬‬
‫‪? 1,1,1T‬‬
‫‪ 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, cT‬כך שציר ‪=( 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 90R x 90  R X 90R 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‬מימין‬
‫‪.TR‬‬
‫עבור האיור שלעיל מטריצת הסיבוב היא אם כן‪:‬‬
‫‪ 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 XYZ γ, β, α‬‬
‫הנוסחאות הבאות עבור ‪ γ,β,α‬יהיו נכונות‬
‫לשני מקרים‪:‬‬
‫‪‬‬
‫‪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 ||  TT P ‬ו‪ P   P TT P -‬וכן ש‪-‬‬
‫‪ . T P  T (P   P || )  T P ‬נציב כעת חזרה לנוסחה לקבל‪:‬‬
‫‪RP  TT  P  T  Psinθ  P  TT  Pcosθ‬‬
‫בכדי להשלים את ההוכחה יש להוכיח ראשית כי ‪ 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, j1
‫ נתונה מטריצת סיבוב כללית‬: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 44‬‬
‫‪ 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 s1‬‬
‫‪0  c 1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪L2 c1c 2 ‬‬
‫‪‬‬
‫‪L2 s1c 2 ‬‬
‫‪L1  L2 s 2 ‬‬
‫‪‬‬
‫‪1‬‬
‫‪‬‬
‫‪s1‬‬
‫‪ c 1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪ c 1‬‬
‫‪‬‬
‫‪ s‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪T2  T1 T2   1‬‬
‫‪0‬‬
‫‪‬‬
‫‪ 0‬‬
‫‪ c1 s 2‬‬
‫‪ s1 s 2‬‬
‫‪c 2‬‬
‫‪0‬‬
‫‪ c  1 c 2‬‬
‫‪‬‬
‫‪ s1c 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‬‬
‫‪‬‬
‫‪‬‬
‫‪01‬‬
‫‪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 31 ‬‬
‫המיקום נתונים כ‪ :‬‬
‫‪1 ‬‬
‫‪R‬‬
‫‪T3   33‬‬
‫‪ 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‬והלאה‪ ,‬אין נוסחה למציאת כל השורשים‪.‬‬
‫הגדרה‪ :‬בהינתן הקינמטיקה הישירה של רובוט‬
‫‪‬‬
‫‪‬‬
‫‪ 44‬‬
‫‪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 acn1 ,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


04
 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 2r11, 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 2s1 , c1 ‬נשים לב שהביטוי ‪ L 2 s 2  L1‬יכול להיות שלילי או חיובי כתלות ב‪-‬‬
‫‪ L2‬ולכן ‪. θ1  atan 2  y 0 , x 0 ‬‬
‫המפרק סיבובי השני יקיים ‪ θ 2  atan 2s 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 2L 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 2L1  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 2r21, 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 2r21 , 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 2L1c2  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 , dt ‬נוכל לגזור את השניים לפי הזמן ולקבל את המהירות הקווית‬
‫והמהירות הזוויתית ‪ Ωt , vt ‬של התפסנית‪ .‬מהמטריצה ‪ Ωt ‬נסיק בהמשך מהי‬
‫המהירות הזוויתית ‪ ω x , ω y , ω z ‬ולבטאה כווקטור‪ .‬מטרתנו נכון לעכשיו היא לבנות את‬
‫‪T‬‬
‫מטריצת היעקוביאן ‪ J‬המקיימת‪:‬‬
‫כאשר ‪ d=6‬למקרה המרחבי‪ ,‬ו‪ d=3 -‬למקרה המישורי‪.‬‬
‫הערה‪ :‬למעשה מטרתנו היא ביצוע ליניאריזציה על הקינמטיקה הישירה‪ .‬פעולה כזו נעשית‬
‫באמצעות גזירת משוואות האילוץ של הרובוט לפי הזמן‪ .‬נזכור שמשוואת האילוץ היא‬
‫‪ , QOUT  FQin ‬כאשר‬
‫‪ 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‬במערכת התפסנית (כלומר זהו וקטור‬
‫הרשום במערכת התפסנית וצמוד אליה)‪ .‬במערכת העולם‬
‫נוכל לכתוב ‪ yt   R t x 0  dt ‬למיקום אותה הנקודה‪.‬‬
‫)‪ R(t‬היא מטריצת הסיבוב התלויה בזמן ו‪ d(t)-‬מיקום‬
‫התפסנית שגם הוא תלוי בזמן‪ .‬אם נגזור את ‪ yt ‬נקבל את‬
‫שוויון המהירויות ‪ t x  d t ‬‬
‫‪. y t   R‬‬
‫‪0‬‬
‫את )‪ R(t‬ניתן‬
‫לגזור‪ ,‬איבר איבר‪ .‬עם זאת‪ ,‬נוכיח כעת משפט שיעזור לנו‬
‫בהמשך לנסח ביטוי יותר פשוט ל‪ , R t  -‬ובסופו של דבר‪ ,‬יאפשר לבטא את ‪ y t ‬באופן יותר‬
‫אלגנטי‪.‬‬
‫‪‬‬
‫‪ ‬‬
‫טענה‪ :‬עבור כל טרנספורמציה ‪( yt   R t x 0  dt ‬כאשר )‪ R(t‬מטריצת סיבוב‪ ,‬ו‪x 0 -‬‬
‫‪‬‬
‫הוא וקטור הרשום במערכת התפסנית‪ ,‬צמוד אליה וקבוע בה) קיים וקטור ‪ ω‬המייצג את‬
‫מהירות הסיבוב של ‪ , R t ‬ומתקיים השוויון‪:‬‬
‫)‪(6.3‬‬
‫‪‬‬
‫‪  ‬‬
‫‪ t  x‬‬
‫‪R‬‬
‫‪ ω yt  - dt ‬‬
‫‪‬‬
‫‪‬‬
‫‪ 12‬כיוון שלרובוט שטיפלנו בו יש רק מפרקים סיבוביים גזרנו לפי זוויות המפרקים‪ .‬עבור רובוט כללי‪ ,‬יופיעו‬
‫ביעקוביאן גזירות גם לפי הפרמטרים של המפרקים הפריזמטיים שלו‪.‬‬
91
‫ד"ר ניר שוולב‬
‫מבוא לרובוטיקה‬
 s 32 
   
. S u   s13   u ‫ מקיימת‬S 33 ‫ ראשית נשים לב שכל מטריצה אנטי סימטרית‬:‫הוכחה‬
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 ‫נזכור שעבור כל מטריצת סיבוב‬
‫לרשום‬
‫נוכל‬
ABT  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  ω yt  - dt 




I



. yt   R t x 0  dt  ‫לקבלת השוויון האחרון השתמשנו בקשר‬



yt   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φ ‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ ‬‬
‫‪ ω yt   ‬כצפוי‪,‬‬
‫‪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  rj1 ‬‬
‫‪   ‬‬
‫‪     ‬‬
‫‪‬‬
‫)‪(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, rj1‬‬
‫בכדי להקל על הבחירה שלהם נוכל להיעזר במבנה המטריצה המייצגת את הקינמטיקה‬
‫הישירה‪.‬‬
‫‪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 rj1 
 :‫ מפרקים סיבוביים אנו יודעים כי‬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 rj1 
 ‫היעקוביאן שקיבלנו יהא בנוי משתי עמודות במבנה‬
:)‫ (עמודה לכל מפרק‬
 bˆ

j-1


 - L1s1  L 2s12

 L1c1  L 2 c12

0
J
0


0


1

 L 2s12 

L 2 c12 
0 

0 
0 
1  62
‫מבוא לרובוטיקה‬
‫‪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 rj1 
 ,‫פריזמטי‬
‫ עבור שתי העמודות הראשונות והעמודה השלישית תהא‬    
 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  36
:‫הקשר בין המהירויות במפרקים למהירויות התפסנית נתון אם כן במשוואה‬
‫מבוא לרובוטיקה‬
‫‪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‬למרחב‬
‫המשיק ‪. TOUT‬‬
‫‪J : TIN  TOUT‬‬
‫הכוונה היא למרחב המהירויות של המפרקים ולמרחב המהירויות של יחידת הקצה‬
‫בהתאמה‪ .‬פן מעניין בתופעת הסינגולאריות הוא‪ ,‬שכאשר מטריצת היעקוביאן אינה מדרגה‬
‫מלאה (סינגולארית)‪ ,‬כלומר איננה העתקה על אז קיים תת מרחב ‪ q  TIN‬שאיננו ריק כך‬
‫ש ‪ , J : q  0‬כלומר קיים תת מרחב של מהירויות במפרקים שאינן באות לידי ביטוי‬
‫במהירות יחידת הקצה‪ .‬הטענה הזו שקולה לטענה שבקונפיגורציה סינגולארית אנו‬
‫"מאבדים" דרגת חופש‪.‬‬
‫הערה‪ :‬נשים לב שהתייחסות שלנו היא למהירויות ולתנועה רגעית בלבד‪ .‬יטען הקורא‬
‫הנאיבי בטעות שאם המהירות ביחידת הקצה מתאפסת‪ ,‬היחידה תהיה "תקועה" כי הרי‬
‫אינה יכולה להתקדם ! טעותו נעוצה בעובדה שאמנם הנגזרת הראשונה של המיקום‬
‫מתאפסת (המהירות)‪ ,‬אבל אין ערובה לכך שהנגזרת השנייה והבאות אחריה מתאפסות‪ .‬אלו‬
‫בתורן יגרמו לתזוזה המיוחלת‪ ,‬שכן פיתוח טיילור למיקום נתון כ‪-‬‬
‫ד"ר ניר שוולב‬
‫מבוא לרובוטיקה‬
‫‪x(0) 2‬‬
‫‪t ‬‬
‫‪2‬‬
‫דוגמא‪ :‬עבור מפרק אוניברסלי כדוגמת מפרק הצוואר (בהנחה שהטיית הצוואר ימינה‬
‫‪x ( t )  x (0)  x (0) t ‬‬
‫ושמאלה אינה אפשרית)‪ ,‬נוכל להדגים קונפיגורציה סינגולארית אם נביט בסדרת התמונות‬
‫שלמטה‪ .‬נניח ונרצה להביט במעוף ציפור הנעה במהירות קבועה מצפון דרומה‪ ,‬ומסלולה עובר‬
‫בדיוק בנקודת הזנית (מעלינו)‪ .‬בכדי לעקוב אחרי הציפור נשמור על כיוון מבטנו צפונה (קטע‬
‫א‪-‬ב בתמונה)‪ ,‬בעוד שאת ראשנו נצודד ביחס לאופק עוד ועוד עד לאותו הרגע בו הציפור‬
‫נמצאת בדיוק מעלינו‪ .‬או אז נאלץ לסובב מהר את ראשנו מצפון לכיוון דרום (קטע ב‪-‬ג‬
‫בתמונה)‪ ,‬ולהמשיך לעקוב אחרי מעופה דרומה (קטע ג‪-‬ד בתמונה)‪ .‬כדי לעקוב באופן רציף‬
‫אחרי הציפור נאלצנו לסובב את ראשנו במהירות אינסופית בנקודת הזנית – זוהי הנקודה‬
‫הסינגולארית‪ .‬נשים לב שבנקודה הזו "הפעלנו מנוע" ולא קרה כלום מבחינת מהירות יחידת‬
‫הקצה (העיניים)‪ ,‬כמצופה‪.‬‬
‫בכדי להקל על החישובים‪ ,‬אם לא נציין אחרת‪ ,‬נתייחס בקורס אך ורק למהירות של‬
‫התפסנית (נתעלם מהמהירות הזוויתית) כשנדבר על סינגולאריות‪ ,‬וכך מתוך ‪ Jnx6‬נתייחס רק‬
‫לתת‪-‬המטריצה העליונה ‪ .Jnx3‬בכדי לאתר את הקונפיגורציות הסינגולאריות נבדוק מתי‬
‫מתאפסת הדטרמיננטה של היעקוביאן (זכרו‪ ,‬לכל קונפיגורציה של הרובוט ערכי האלמנטים‬
‫ביעקוביאן שונים)‪ .‬כיוון שהדטרמיננטה מוגדרת עבור מטריצות ריבועיות ‪ J‬בלבד‪ ,13‬במקרה‬
‫שהיעקוביאן אינו ריבועי "נרבע" אותו ע"י חישוב הדטרמיננטה של ‪( JJ T‬הקורא המתעניין‬
‫בסיבה הפורמאלית לחישוב זה יפנה לפרק ‪ 63‬הדן במדדים)‪.‬‬
‫‪ 13‬עבור רובוטים יתירים כרובוטים נחשיים (ראה לדוגמא תרגיל בנספח ג') מטריצת היעקוביאן ‪J mn‬‬
‫איננה‬
‫ריבועית (‪ .)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  33‬‬
‫‪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 ‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ spancolJ   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 ‬‬
‫‪‬‬
‫‪  ‬‬
‫יהיה‪ spancolJ   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,0T :‬‬
‫ו‪-‬‬
‫‪ 0,0,0,0,1,0T‬כלומר הרובוט לא יוכל להתנגד למומנטים סביב הצירים ‪ 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 31 ‬‬
‫‪‬‬
‫‪Z B  ABT   B‬‬
‫‪‬‬
‫‪‬‬
‫‪ 013 111  44‬‬
‫‪A‬‬
‫‪‬‬
‫‪YB‬‬
‫‪A‬‬
‫‪ ‬‬
‫‪R   A X B‬‬
‫‪‬‬
‫‪A‬‬
‫‪B‬‬
‫‪,‬‬
‫הטרנספורמציה ‪ ,T‬אם כן‪ ,‬מתארת את הקשר בין מיקומים בשני מערכות הקואורדינאטות‪.‬‬
‫נוכל לתאר גם את הקשר בין תיאור מהירות חלקיק בשתי המערכות‪ .‬בכדי לקבל‬
‫ד"ר ניר שוולב‬
‫מבוא לרובוטיקה‬
‫טרנספורמציה מתאימה נחבר בדמיוננו שלשה מפרקים סיבוביים ושלשה מפרקים‬
‫פריזמטיים למערכת הראשונה כך שנוכל לקבל כל מיקום ואוריינטציה של המערכת השנייה‬
‫לעומת הראשונה‪ .‬באופן זה כמובן נוכל לקבל את הטרנספורמציה באמצעות כתיבת‬
‫היעקוביאן לפי נוסחה ‪: 9.9‬‬
‫‪‬‬
‫‪d A Z B ‬‬
‫‪ ‬‬
‫‪A‬‬
‫‪Z B  66‬‬
‫‪‬‬
‫‪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, MA  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, MB  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, M2  10,7,8,200,100,100‬מהם הכוחות‬
‫שמרגיש המפרק בבסיס הרובוט?‬
‫תשובה‪F, M1  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‬לא יגרום כל תנועה ‪( Cc1 , 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,1T‬מצא את הקונפיגורציה‬
‫העדיפה מבחינת הגמישות בה כדאי להציב את הרובוט‪ .‬הסבר‬
‫באמצעות תרשים כוחות פשוט‪.‬‬
‫‪ 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‬נקבל כי הביטוי לנפח האליפסואיד (עד כדי הכפלה‬
‫בקבוע שתלוי במימד האליפסואיד בלבד) הוא‪:‬‬
‫‪Mq   det J  J T ‬‬
‫)‪(10.1‬‬
‫עבור רובוט לא יתיר‪ ,‬בו היעקוביאן ריבועי‪ ,‬הביטוי מתנוון ל‪:‬‬
‫)‪Mq   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‬‬
‫לקבלת‬
‫‪ . Mq   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‬המניפולטיביות תהא במקרה זה ‪ . Mq   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‬‬
‫והביטוי למניפולטיביות הוא‪:‬‬
‫‪Mq   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'  J1  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 ‬‬
‫ומחישוב ‪ Mq   det J  J T ‬נקבל‪:‬‬
‫‪Mq   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‬‬
‫‪ . Mq   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‬פולסים‪.‬‬
‫המרחק המקסימאלי שעוברת התפסנית בסיבוב אחד של המפרק הראשון הוא‬
‫‪2L1  L 2 ‬‬
‫‪ 2L1  L 2 ‬ולכן רזולוציית המפרק הראשון היא ‪ 1.8mm‬‬
‫‪10,240‬‬
‫‪2L 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  212  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‬מהו הדיוק הדרוש מרובוט בכדי להציב את החלק‬
‫בדיוק בתוך חור גלילי בקוטר ‪? 2100..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  6n -1 - g    f i  i‬‬
‫לכן עבור פלטפורמת סטיוארט נקבל אמנם‪:‬‬
‫‪614 - 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  34 -1 - 4  4 1  1‬‬
‫כלומר‪ ,‬המכאניזם דורש מפעיל יחיד בעוד ששאר המפרקים פאסיביים‪ )9.6( .‬בכדי לקבל את‬
‫משוואות האילוץ הקינמטיות נעקוב אחר מיקום המפרקים לאורך השרשרת הקינמטית‬
‫‪ .12341‬באופן זה תתקבל מערכת המשוואות‪:‬‬
‫‪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‬‬
‫‪38 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  Bi ‬‬
‫הוא המרחק בין מפרק הבסיס למפרק העגינה ברגל ה‪-i-‬ית‪ .‬וכמובן‪ ,‬ידוע הקשר‪:‬‬
‫) ‪R Z θ  b i   P Bi   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   Bi   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  6n - 1 - g    f i  i  68 - 1 - 9  3  3  9  3‬ב)‬
‫לשם מעקב קל אחר הפתרון זכרו כי הסימון ‪R‬‬
‫‪A‬‬
‫‪B‬‬
‫מתייחס למטריצת הסיבוב המתארת את‬
‫מערכת ‪ B‬במערכת קואורדינאטות ‪ .A‬כמו כן נסמן את מיקום נקודה ‪ P‬במערכת צירים ‪A‬‬
‫ב‪( A P -‬ראה פרק ‪.)9‬‬
‫נצמיד שתי מערכות צירים‪ :‬האחת ‪ Bx, y, z ‬למרכז בסיס הרובוט התחתון‪ ,‬והשנייה‬
‫‪ Pu, v, w ‬למרכזה של הפלטפורמה הניידת‪ .‬עבור הפלטה התחתונה נסמן את נקודות‬
‫החיבור ב‪( B1 , B2 , B3 -‬כתובות במערכת ‪ ) Bx, y, z ‬כבאיור‪ ,‬ונניח שמרחקן מהראשית‬
‫‪ Bx, y, z ‬הוא ‪ b‬כבאיור‪ .‬הביטוי לנקודות אלו נתון ב‪:‬‬
‫ד"ר ניר שוולב‬
‫מבוא לרובוטיקה‬
‫‪B1  b1,0,0‬‬
‫‪T‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪T‬‬
‫‪b‬‬
‫‪ 1, 3 ,0‬‬
‫‪2‬‬
‫‪T‬‬
‫‪b‬‬
‫‪B3   1, 3 ,0‬‬
‫‪2‬‬
‫‪‬‬
‫‪B2 ‬‬
‫נסמן את מיקום נקודות החיבור לפלטה הניידת ב‪( P1 , P2 , P3 -‬כתובות במערכת ‪) Pu, v, w ‬‬
‫כבאיור‪ .‬הביטוי לנקודות אלו ביחס למערכת ‪ Bx, 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‬‬
‫ולכן‬
‫‪21‬‬
‫‪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  tan2 / 2‬מקדמי פולינום זה יהיו פונקציות של ‪ 3 , L3‬ו‪ . L1 -‬בכדי לחלץ את ‪3‬‬
‫נזדקק לפולינום נוסף ב ‪  2‬עם מקדמים שהם פונקציות של ‪ 3 , L3‬ו‪ . L1 -‬בכדי לקבל את‬
‫הפולינום נשכתב את משוואה (‪ )0‬עם המשתנה ‪ , 2  tan2 / 2‬מקדמי פולינום זה יהיו‬
‫פונקציות של ‪ 3 , L3‬ו‪. L1 -‬‬
‫התקבלו‪ ,‬אם כן‪ ,‬שתי משוואות ב‪  2 -‬עם מקדמים שהם פונקציות של ‪ 3 , L3‬ו ‪ . L1‬נכתוב‬
‫את מטריצת סילבסטר‪ .‬נשווה את הדטרמיננטה שלה לאפס לקבלת משוואה פולינומיאלית‬
‫מדרגה ‪ 211‬ב‪ . 3  tan3 / 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  FQin ‬כאשר‬
‫‪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‬‬
‫את ווקטור‬
‫הקואורדינאטות המוכללות האקטיביות (סיבוביות או לינאריות(‪ .‬משוואת האילוץ הסתומה‬
‫‪FQin , 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  nn‬‬
‫‪‬‬
‫)‪(11.2‬‬
‫‪F1‬‬
‫‪q 2‬‬
‫‪ F1‬‬
‫‪‬‬
‫‪ q1‬‬
‫‪ F2‬‬
‫‪  q1‬‬
‫‪‬‬
‫‪ ‬‬
‫‪ Fn‬‬
‫‪ q‬‬
‫‪ 1‬‬
‫‪F1 ‬‬
‫‪‬‬
‫‪ m ‬‬
‫‪‬‬
‫‪ ,‬‬
‫‪‬‬
‫‪ ‬‬
‫‪Fn ‬‬
‫‪‬‬
‫‪ m  nm‬‬
‫‪‬‬
‫‪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‬היחידה תהיה "תקועה" כי הרי אינה יכולה‬
‫להתקדם ! טעותו נעוצה בעובדה שאמנם הנגזרת הראשונה של המיקום מתאפסת (המהירות)‬
‫אבל לא קיימת ערובה לכך שהנגזרת השנייה והבאות אחריה מתאפסות‪ .‬אלו בתורן יגרמו‬
‫לתזוזה המיוחלת‪ ,‬שכן פיתוח טיילור למיקום נתון כידוע כ‪-‬‬
‫‪x0‬‬
‫‪t  ..‬‬
‫‪2‬‬
‫תרגיל ‪ :44.6‬עבור רובוט ארבעה מוטות שדנו בו בתרגיל ‪ ,66.6‬מצא את מטריצות היעקוביאן‪,‬‬
‫‪. xt   x 0  x 0t ‬‬
‫אם מגדירים את ‪ 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 )  21‬‬
‫‪     ‬‬
‫‪ 1  1‬‬
‫‪F1 ‬‬
‫‪‬‬
‫‪4    L 2 sin(1  2 ) L3 sin(4 ) ‬‬
‫‪‬‬
‫‪‬‬
‫‪F2   L 2 cos(1  2 ) L3c os(4 ) ‬‬
‫‪22‬‬
‫‪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‬‬
‫בספרות‬
‫נסמן‬
‫את‬
‫הווקטורים‬
‫‪ L0i  , L1i  , L2i ‬כווקטורים מהראשית לבסיס הרגל ה‪-‬‬
‫‪ , i‬מבסיס הרגל ה‪ i -‬למפרק השני ומן המפרק השני‬
‫של הרגל ה‪ i -‬ליחידת הקצה המרכזית‪ ,‬בהתאמה‪.‬‬
‫(א) מצא את הקשר הליניארי בין מהירויות הכניסה‬
‫במפרקים האקטיביים ‪ 11 , 12  , 12 ‬לבין מהירות‬
‫יחידת הקצה‪( .‬ב) מהן הקונפיגורציות הסינגולאריות של הרובוט ?‬
‫תשובה‪( :‬א) נחבר את הווקטורים עבור כל רגל מהראשית הנייחת ‪ O‬לבסיס הרגל‪ ,‬ומשם‬
‫למפרק השני וליחידת הקצה‪ .‬נקבל את מערכת המשוואות הווקטורית‪:‬‬
‫‪P  L01  L11  L21‬‬
‫‪P  L02   L12   L22 ‬‬
‫‪P  L03  L13   L23 ‬‬
‫כאשר‬
‫‪P  x, y ‬‬
‫‪T‬‬
‫מיקום יחידת הקצה‪ .‬זהו ייצוג ווקטורי למשוואת האילוץ‬
‫‪ . FQin , QOUT   0‬נשים לב שכיוון שאנו מעוניינים במיקום הנקודה בלבד (אין לה‬
‫אוריינטציה) לא נקבל ‪ J OUT‬ריבועית‪.‬‬
‫‪‬‬
‫‪Li ‬‬
‫‪L1i ‬‬
‫אם נגזור את משוואת האילוץ על פי הזמן נקבל‪ L1i   1i  , 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 ‬‬
‫ו‪-‬‬
‫ד"ר ניר שוולב‬
‫מבוא לרובוטיקה‬
‫אנו מעוניינים בקשר הליניארי שבין מהירויות הכניסה במפרקים האקטיביים‬
‫‪ 11 , 12  , 12 ‬לבין מהירות יחידת הקצה‪ .‬נזכור ש ‪ v  v  0‬לכל וקטור‬
‫‪‬‬
‫‪v‬‬
‫ולכן בכדי‬
‫"להפטר" מ‪  2i  -‬נכפיל את המשוואה ב‪ L2i  -‬וקטורית ונקבל‪:‬‬
‫‪‬‬
‫‪L21  P  L21  L11  11‬‬
‫‪‬‬
‫‪L22   P  L22   L12   12 ‬‬
‫‪‬‬
‫‪L23  P  L23   L12   12 ‬‬
‫ובכתיבה מטריציונית קיבלנו‪:‬‬
‫‪   1 ‬‬
‫‪  1 ‬‬
‫‪   12  ‬‬
‫‪ ‬‬
‫‪‬‬
‫‪‬‬
‫‪L23  L12     12  ‬‬
‫‪ 33‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪‬‬
‫‪2 ‬‬
‫‪L 2  L12 ‬‬
‫‪0‬‬
‫‪ L1  L1 ‬‬
‫‪ L21 ‬‬
‫‪ 2    x   2 1‬‬
‫‪0‬‬
‫‪ L 2     ‬‬
‫‪ L3   y  ‬‬
‫‪0‬‬
‫‪ 2  32‬‬
‫‪‬‬
‫התקבל הקשר ‪ 66.6‬כדרוש‪( .‬ב) הקונפיגורציות הסינגולאריות‬
‫מסוג ‪ I‬יתקבלו כאשר המטריצה ‪ J IN‬בעלת דרגה לא מלאה‪,‬‬
‫‪‬‬
‫כלומר כאשר ‪ L2i   L1i   0‬עבור לפחות אחד מה‪, 1  i  3 -‬‬
‫כלומר כאשר לפחות אחת מהרגליים מיושרת ‪. L2i  || L1i ‬‬
‫הקונפיגורציות הסינגולאריות מסוג ‪ II‬יתקבלו כאשר מטריצה‬
‫‪ J OUT‬בעלת דרגה לא מלאה‪ ,‬כלומר כאשר ‪ L2i  || L2j‬עבור שתי‬
‫רגליים ‪ 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, yT  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 ‬‬
‫‪   12  ‬‬
‫‪0‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪B (3) A ( 4)    12  ‬‬
‫‪ 33‬‬
‫‪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‬‬
‫‪ 33‬‬
‫‪‬‬
‫)‪ 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  ‬נוכל לחש ֹוב‬
‫על ‪ dx, y  x  y‬כעל המרחק ביניהם‪ .‬נשים לב שפונקצית המרחק הזו מקיימת‪:‬‬
‫(‪ )6‬הפונקציה ‪ dx, y ‬תמיד אי‪-‬שלילית‪ ,‬ומקבלת את הערך ‪ 3‬רק כאשר ‪. x  y‬‬
‫(‪. dx, y  dy, x  )9‬‬
‫(‪ )0‬מתקיים אי‪-‬שוויון המשולש כלומר ‪ dx, y  dx, z   dz, 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‬הפונקציה ‪ dx, y ‬תמיד אי‪-‬שלילית‪ ,‬ומקבלת את הערך ‪ 3‬רק כאשר ‪. x  y‬‬
‫(‪. dx, y  dy, x  )9‬‬
‫(‪ )0‬מתקיים אי‪-‬שוויון המשולש‪ ,‬כלומר ‪. dx, y  dx, z   dz, y‬‬
‫‪ 27‬מימד מרחב מוגדר כמספר הממדים עליו ניתן לנוע‪ .‬לשם הדגמה אם נתייחס לפני כדור הארץ‪ ,‬אזי מאחר‬
‫וכיווני התנועה האפשרית הם צפון‪-‬דרום ומזרח‪-‬מערב‪ ,‬מדובר בספירה דו ממדית‪.‬‬
‫ד"ר ניר שוולב‬
‫מבוא לרובוטיקה‬
‫הגדרה‪ :‬מרחב מטרי )‪ (Metric Space‬הוא קבוצה ‪ C‬עם מטריקה ‪ . d : C  C  ‬מרחב‬
‫כזה יסומן כזוג הסדור ‪. C, d ‬‬
‫‪n‬‬
‫‪‬‬
‫דוגמא‪ :‬מרחב המפרקים של רובוט טורי ‪R‬‬
‫‪ RR‬הוא חלק מן המרחב הקרטזי ‪ ‬עליו‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪n‬‬
‫נוכל להגדיר מטריקות שונות כמו‪:‬‬
‫‪ .6‬המטריקה האיקלידית ‪ y i ‬‬
‫‪n‬‬
‫‪2‬‬
‫‪i‬‬
‫‪ x‬‬
‫‪xy‬‬
‫‪ .9‬המטריקה הטריוויאלית‬
‫‪xy‬‬
‫‪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‬‬
‫מטריקות על מרחבים כלליים יותר‪ :‬יהי ‪ C0,1‬אוסף הפונקציות הרציפות ‪f : [0,1]  ‬‬
‫(שמעצם הגדרתן תהיינה גם חסומות)‪ .‬כעת‪ ,‬אם נחשוב על ‪ C0,1‬כעל הקבוצה‪ ,‬ועל‬
‫המטריקה‬
‫המוגדרת‬
‫עליה‬
‫כעל‪:‬‬
‫‪d f , g   supf x   gx  : 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 dx , x ‬‬
‫‪ ‬‬
‫~‬
‫~‬
‫~ ‪1‬‬
‫‪ . d E f x , f x 0   ‬ידוע ש ‪ f U‬פתוחה לכל ‪ U‬פתוחה‪ ,‬נבחר ‪ U  U‬פתוחה שמכילה‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫~‬
‫‪xf 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‬המוגדרת‬
‫‪xa‬‬
‫כ‪-‬‬
‫‪ba‬‬
‫‪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‬‬
‫הוכח‬
‫‪xy‬‬
‫‪xy‬‬
‫שהפונקציה‬
‫‪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‬‬
‫תהיינה ‪ Qx    bi x i  0‬ו‪ , Px    a i x i  0 -‬ונניח ללא הגבלת הכלליות ש ‪. m  n‬‬
‫מטריצת סילבסטר של ‪ Qx ‬ו‪ Px  -‬היא המטריצה‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪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‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫על פי הקריטריון של סילבסטר‪ ,‬ל‪ Qx  -‬ו‪ Px  -‬קיים ְמחַ לֵק משותף (במילים אחרות ‪ -‬קיים‬
‫פתרון) שונה מ‪ 6-‬אם ורק אם ‪. det S  0‬‬
‫לדוגמא‪:‬‬
‫בהינתן‬
‫הפולינומים‬
‫‪gx   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‬ואמנם עבור ‪gx   b 2 x 2  1‬‬
‫ו‪ f x   a 3 x 3  1 -‬נקבל ‪ det S  b  a‬כלומר קיים פתרון רק במקרה בו ‪ , b  a‬ובמקרה‬
‫‪6‬‬
‫‪6‬‬
‫זה הפתרון יהא ‪. x  1/ a‬‬
‫בספרות‪ ,‬הדטרמיננטה של מטריצת סילבסטר קרויה ה – ‪ Resultant‬של ‪ Qx ‬ו‪Px  -‬‬
‫ומסומנת ב‪. resP, Q-‬‬
‫הקריטריון של סילבסטר יסייע לנו כעת בפתרון מערכת המשוואות הפולינומיאליות‬
‫‪ f x, y  0‬ו‪ gx, y  0 -‬המשוואות בדרגות ‪ m‬ו‪ n -‬בהתאמה‪ , 40‬נדגים כיצד‪:‬‬
‫‪ .1‬נציג את המשוואות ‪ f x, y  0‬ו‪gx, y  0 -‬‬
‫‪n‬‬
‫בצורה‪-‬‬
‫‪ Qx    bi x i  0‬ו‪-‬‬
‫‪i 0‬‬
‫‪m‬‬
‫‪ Px    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 mn 1‬כאל מערכת משוואות ליניארית‪ .‬נציב את‬
‫‪n‬‬
‫‪m‬‬
‫‪i 0‬‬
‫‪i 0‬‬
‫הפתרון ל‪ Qx    bi x i  0 -‬ול‪ Px    a i x i  0 -‬ונפתור את המערכת כמערכת‬
‫משוואות ליניארית (נמצא את ‪.) x, x 2 , x 3 ,, x n ,, x mn 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  32  y 2  5  m2  0‬‬
‫‪x  32  y 2  5  m2  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  Rcos t‬‬
‫‪ v 0  x 2  y 2  R‬ולכן ‪.   v 0 / R‬‬
‫המשוואות (ראו פרק ‪y  L1s1  L 2 s12 )9‬‬
‫‪x  Rsin t,‬‬
‫כלומר‬
‫מצד שני הקינמטיקה הישירה נתונה בצמד‬
‫‪. x  L1c1  L 2 c12 ,‬‬
‫פתרון בעיית הקינמטיקה ההפוכה נתון ב‪:‬‬
‫‪1  atan2y, x   atan2L 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‬מוגדרות‪ .‬יש לבנות עקום תנועה רציף במרחב הקונפיגורציה ‪ Ct ‬כך ש‪:‬‬
‫א‪ .‬העקום עובר דרך כל הנקודות ‪. Ct 0   C 0 , Ct 1   C1 ,, Ct n   C n‬‬
‫‪‬‬
‫‪ t   C‬‬
‫ב‪ t   0 .‬‬
‫‪C‬‬
‫‪0‬‬
‫‪n‬‬
‫‪ t  , C‬‬
‫ג‪ .‬הפונקציות ‪ t ‬‬
‫‪ C‬תהיינה רציפות‪.‬‬
‫בעיית תכנון התנועה במרחב המפרקים‪ ,‬אם כן‪ ,‬יכולה להתפרש בשני אופנים‪:‬‬
‫ד"ר ניר שוולב‬
‫מבוא לרובוטיקה‬
‫‪ .1‬במרחב הקונפיגורציה (איורים ימני ואמצעי) זוהי בעיית בחירה של עקום פרמטרי ‪Ct ‬‬
‫העובר דרך ‪ n‬נקודות נתונות ‪ . Ct 0   C 0 , Ct 1   C1 ,, Ct n   C n‬עם שתי‬
‫ההגבלות (ב) ו‪(-‬ג)‪.‬‬
‫‪ .2‬במרחב הרובוט (איור שמאלי) פתרונה יהא קביעת ערכי המפרקים לאורך פרק זמן‪ ,‬כך‬
‫שבכל אחת מנקודת הזמן הנתונות‬
‫‪ , t 0 , t 1 ,, t n‬מפרקי הרובוט נתונים כ‪-‬‬
‫‪ . Ct 0   C 0 , Ct 1   C1 ,, Ct 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, ‬המכונית‪ ,‬אם‬
‫כן‪ ,‬איננה מערכת הולונמית‪.‬‬
‫נדמיין טיל המשוגר לאוויר‪ .‬הכוחות הפועלים על הכדור הם כוח הכבידה הפועל מטה וכוח‬
‫הדחף הפועל כלפי מעלה‪.‬כידוע‪ ,‬על פי החוק השני של ניוטון משוואת התנועה של הכדור היא‬
‫‪ . my  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‬‬
‫כעת‬
‫אם‬
‫‪. my ‬‬
‫נגדיר‬
‫את‬
‫(פוטנציאלית‬
‫הלגרנז'יאן‬
‫וקינטית‬
‫)‪(Lagrangian‬‬
‫כ‪:‬‬
‫‪ 45‬אוילר ולגרנז' קיבלו את מערכת המשוואות הדינאמית במהלך ניסיון למצוא עקומה איזוכרונית )‪Curve‬‬
‫‪ .)Isochrone‬אשר פרק הזמן הלוקח לגוף להחליק עליה עד לנקודה הנמוכה ביותר בה‪ ,‬קבוע‪ ,‬ואינו תלוי‬
‫במיקומו ההתחלתי‪.‬‬
‫‪194‬‬
‫מבוא לרובוטיקה‬
‫‪my 2‬‬
‫‪ mgy‬‬
‫‪2‬‬
‫ד"ר ניר שוולב‬
‫‪ L( y, y ) ‬כלומר כהפרש בין האנרגיה הקינטית לזו הפוטנציאלית נוכל לנסח‬
‫‪d ‬‬
‫‪‬‬
‫את משוואת התנועה בניסוח אוילר לגנז'‪L  L  F :‬‬
‫‪dt y‬‬
‫‪y‬‬
‫‪.‬‬
‫באותו אופן נוכל לרשום את מערכת משוואות אוילר לגרנז' עבור רובוט‪:‬‬
‫‪d ‬‬
‫‪‬‬
‫‪D‬‬
‫‪Lq, q  ‬‬
‫‪Lq, q  ‬‬
‫‪ Fi‬‬
‫‪dt q i‬‬
‫‪q i‬‬
‫‪q i‬‬
‫)‪(C.1‬‬
‫כאשר‬
‫‪46‬‬
‫‪ Fi , Lq, q   Kq, q   Pq ‬הכוחות המוכללים החיצוניים הפועלים על דרגת‬
‫‪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   I11‬‬
‫‪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‬‬