ד"ר ניר שוולב
Transcription
ד"ר ניר שוולב
qwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwer tyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfgh jklzxcvbnmqwertyuiopasdfghjkl zxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcv bnmqwertyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmrtyui מבוא לרובוטיקה ד"ר ניר שוולב ד"ר ניר שוולב /מבוא לרובוטיקה 1 2 ד"ר ניר שוולב מבוא לרובוטיקה אין לשכפל ,להעתיק ,לצלם ,להקליט ,לאחסן במאגר מידע ,לשדר או לקלוט בכל דרך או בכל אמצעי אלקטרוני ,אופטי מכני או אחר כל חלק שהוא מן החומר שבספר זה. שימוש מסחרי מכל סוג שהוא בחומר הכלול בספר אסור בהחלט אלא ברשות מפורשת מהמו"ל. הדפסה :דפוס אלפא 30-9665096 נדפס בישראל :אפריל Printed in Israel :9336 © כל הזכויות שמורות למרכז האוניברסיטאי אריאל בשומרון ד"ר ניר שוולב מבוא לרובוטיקה להורי היקרים דוד ושושנה שוולב באהבה גדולה. 3 4 מבוא לרובוטיקה ד"ר ניר שוולב שלמי תודה תודה לסטודנטים שהייתה לי הזכות ללמד אותם -מר אלון ורדימון ומשה נצר שברשימותיהם נעזרתי בכתיבת הספר .תודה לחברי יונתן וישניצר על רשימותיו. תודה לאלון סימון על האיורים המשעשעים .תודה לפרופסור משה שוהם (הטכניון) ולד"ר אמיר שפירא (אוניברסיטת בן גוריון שבנגב) על עצותיהם והערותיהם הפוריות .תודה לנעמה אהובתי היקרה שעזרה לי רבות לנסח ותמכה בי לאורך כתיבתו ולתמר הקטנה ש(עדיין) לא עושה כלום וכבר עשתה המון. על הכריכה יד מינאטורית שפותחה ונבנתה במעבדה לקינמאטיקה וגיאומטריה חישובית שבמרכז האוניברסיטאי אריאל אשר מטרתה לסייע לרופא המבצע פעולות עדינות כדוגמת אלו המתבצעות בניתוחי מיקרו .אורך הרובוט מקצה האצבע לבסיס כף היד כ 1ס"מ וחצי ואורך כל אצבע כשבעה מ"מ .היד כולה בעלת 65דרגות חופש והבקרה עליה באמצעות כפפת היגוי .בכריכה הקדמית (והאחורית) אחיזה רובוטית (ואנושית) בבורג שקוטרו 9מ"מ. ד"ר ניר שוולב מבוא לרובוטיקה תוכן העניינים הקדמה 6 ....................................................................................................... דרגות חופש 41 ................................................................................................ מערכות צירים 52 ............................................................................................ שרשור טרנספורמציות 66 .................................................................................. הקינמטיקה הישירה 14 .................................................................................... הקינמטיקה הפוכה 66 ...................................................................................... אנליזה ליניארית 78 ......................................................................................... סינגולאריות קינמטית 401 ................................................................................. סטאטיקה 441 ................................................................................................ אנליזת קשיחות 456 ......................................................................................... מדדים 466 ..................................................................................................... רובוטים מקבילים 412 ...................................................................................... מרחב הקונפיגורציה 464 ................................................................................... נספח א' פתרון מערכת משוואות לא ליניארית 476 ................................................... נספח ב' תכנון תנועה (על קצה המזלג) 478 ............................................................. נספח ג' דינאמיקה (על קצה המזלג) 446 ............................................................... רשימת מקורות 446 ......................................................................................... רשימת כתבי עת ברובוטיקה 444 ......................................................................... אינדקס 500 ................................................................................................... 5 מבוא לרובוטיקה 6 ד"ר ניר שוולב הקדמה רובוט הוא סוכן מכאני .בדרך כלל המדובר במערכת אלקטרו-מכאנית ,אשר התבוננות באופן התנועה שלה יוצרת תחושה של כוונה או רצון עצמאיים .במילים אחרות ,על רובוט להפגין מידה מסוימת של תבונה .באופן מפתיע ,אין הגדרה מוסכמת על החוקרים למושג רובוט ,עם זאת מוסכם על כולם שנוסף על יכולת תבונית על רובוט להיות מסוגל לאחת או יותר מהמשימות הבאות :תנועה עצמאית ,הפעלת זרוע מכאנית ,חישה ,ופעולה על סביבתו.1 במחקר ברובוטיקה נכללים תחומי המכאניקה ,הבקרה ,האינטראקציה עם בני אדם והחישה .קצרה היריעה מלעסוק בכולם ובספר זה נתמקד באספקטים המכאניים בלבד. התייחסות בספרות רעיון של יצור דמוי אנוש מעשה ידי אדם קיים עוד מימי המיתולוגיה היוונית .מן הסיפורים הידועים יותר הוא סיפורו של הפָּ סל פיגמליון אשר התאהב בפסל שיצר ,ובעזרת אלת האהבה וונוס החיה אותו .סיפור אחר המתאר יצירת יצור דמוי אדם הוא סיפור הגולם מפראג מהמאה ה .69-על פי האגדה ,הגולם מפראג נבנה בידי רבי יהודה ליווא בן בצלאל (המהר"ל מפראג) ,אשר יצר את הגולם כשנתגלתה מזימה של עלילת דם .הגולם שימש את יוצרו כשליח נאמן והטיל אימה על מפיצי העלילה הנוראה .מדי ערב שבת הרב הוציא את רוח החיים מתוך הגולם מחשש פן תחולל השבת ,והגולם היה מוטל כגוש חומר עד צאת השבת .באחד מימי השישי ,שכח הרבי להוציא מן הגולם את רוח החיים והגולם חילל את השבת וסיכן את הגויים שחיו בעיר .הרב רדף אחריו והשיגו מחוץ לפתח בית הכנסת בפראג. 1 פורמאלית ב 6663 -נוסחה ההגדרה ( :)6663 ISO TR 8376רובוט תעשייתי הוא מכונה (נייחת או ניידת) הניתנת לתכנות חוזר .על המכונה לשמש למספר אפליקציות תעשייתיות .המונח תכנות מתייחס לעריכת תוכנה ללא שינויים מכאניים. ד"ר ניר שוולב מבוא לרובוטיקה שם הוציא ממנו את רוח החיים והגולם התנפץ לרסיסים .על פי האגדה ,על מצחו של הגולם היו חקוקות האותיות "אמת" ,והמתתו בוצעה על ידי מחיקת האות א' כך שהכיתוב הפך להיות "מת". אלמנט "הגולם הקם על יוצרו" בסיפור הגולם מפראג חוזר גם בסיפורה של מרי שלי , פרנקנשטיין ,שפורסם לראשונה בשנת .1818בשני הסיפורים הללו מודגש העיקרון לפיו יצירת חיים שמורה לאל ולא לאדם ,וניסיון של האדם ליצור חיים בעצמו הוא חילול הקודש. סופר המדע הבדיוני אייזיק אסימוב , Asimov Isaacששאף לשבור עיקרון זה ,היה אחד הראשונים שטיפל בשאלת היחס בין האדם לרובוט בסדרת ספרי הרובוטים שלו (,)6699 שהמפורסם בהם הוא " ."I Robotבספרים אלו הוא טובע את המושג "תסביך פרנקנשטיין" המתאר את הרתיעה והפחד של האדם מפני המכונה שתקום על יוצרה .אייזיק אסימוב גם השכיל לנסח שלשה "חוקים" שעומדים עד היום בבסיס הפילוסופיה שמאחורי הרובוטיקה: ( )6רובוט לא יזיק לאדם ( )9רובוט תמיד יציית לאדם ,אלא אם אלא אם כן יתנגש עם ()6 ( )0תמיד יגן על עצמו בהנחת ( )6ו.)9(- המילה רובוט נזכרה לראשונה בשנת 6696עת פורסם המחזה R.U.Rשל הסופר הצ'כי קארל צ'אפק ( Karl Čapekבתרגום לעברית" ,הרובוטים האוניברסלים של רוסום") .המילה עצמה לקוחה מן המילה Robotaבשפה הצ'כית שמשמעותה 'עבדּות'.2 היסטוריה קדומה הניסיונות התיאורטיים להבנת הניסוח המתמטי של בעיות מכאניות והניסיון הפרקטי הדרוש לבנייתן של מכונות ,ידועים אף הם משחר ההיסטוריה :הגיאומטריקאי המצרי הֶ רון ,Heronבן המאה הראשונה לפנה"ס ,תכנן ובנה מספר רב של מכונות אוטומטיות לנשיאת משקלים ושינועם .בנוסף עסק בפן התיאורטי של הבעיות ותיאר שימוש בלחץ אוויר כאמצעי אקטואציה .בן אותה תקופה בערך הוא מנגנון אנטיקיתרה Antikythera - mechanismמחשב אנלוגי קדום אשר תוכנן ככל הנראה על מנת 2 למעשה ,קארל צ'אפק לא המציא את המילה בעצמו .במכתב אזכור קצר לאטימולוגיה של מילון אוקספורד באנגלית הוא מציין כי העדיף את המילה ,labořiאשר בלטינית פרושה "לעבוד" ,ורק לאחר התייעצות עם אחיו החליף את השם. 7 8 ד"ר ניר שוולב מבוא לרובוטיקה לחשב מיקומים אסטרונומיים של גרמי שמיים .המנגנון התגלה סמוך לאי היווני אנטיקיתרה בין קיתרה לכרתים והוא מתוארך לתקופה שבין 100לפנה"ס לבין 150לפנה"ס .המנגנון כלל ככל הנראה 03גלגלי שיניים ,חלקם פלנטאריים עם רוחב שן קטן ממילימטר ,וגודלו של המכשיר כולו כ 33x17x9-ס"מ. הממציא המוסלמי-טורקי אל ג'זארי שחי במאה ה ,69-תכנן ובנה מספר רב של מכונות אוטומטיות כולל מכשירים אוטומטיים למטבח ,מכונה מוסיקלית אוטומטית המופעלת הידראולית וארבעה רובוטים דמויי אדם הניתנים לתכנות באמצעות החלפת פיקות ,שבתורם הפעילו מערך קורות לתיפוף נעימות שונות. היסטוריה מאוחרת בשנות השבעים של המאה ה 61-נוצרו מספר רב של רובוטים דמויי אדם שיכלו להגיש תה, לירות חיצים ,לכתוב ולנגן בידי מספר ממציאים משווייץ ,גרמניה ויפן. כאמור ב 6690הוצג לראשונה המחזה R.U.Rועמו ההתייחסות הראשונה למושג רובוט. ENIACהיה המחשב האלקטרוני הראשון שהיה בעל היכולת להיות מתוכנת מחדש באמצעות חיווט בלבד .המחשב פותח לצורך פתרון מגוון רחב של בעיות חישוביות והוכרז מוכן לשימוש באוניברסיטת פנסילבניה ב . 6699ב 6691 -פותח הטרנזיסטור הראשון במעבדות בֶ ל בניו ג'רסי וסלל את הדרך לפיתוח הרובוט הראשון המופעל באופן דיגיטאלי. הרובוט הראשון ,ששמו iUnimateנבנה ב( 6659 -על ידי מי שנחשבים כיום כאבות הרובוטיקה המודרנית ,אנגלברגר ודבול. F. Joseph & Devol (George Engelbergerונכנס לשימוש בחברת ג'נרל מוטורס חמש שנים מאוחר יותר .זהו רובוט 0דרגות חופש טורי ,שמטרתו הייתה שינוע של פיסות מתכת לוהטות במשקלים של עד כ 533ק"ג וריתוכם במקומות המיועדים .סדר הפעולות הרצוי נשמר על גבי תוף מגנטי (ששקל כ 6133-ק"ג). ה ,Unimate -שּאפשר לראשונה ביצוע עבודות בזול וביתר דיוק ואמינות מאשר בני אדם ,סלל את הדרך לרובוטים התעשייתיים הנמצאים כיום בשימוש נרחב ומחליפים בני אדם במגוון משימות .בשנת 6696 ויקטור שיינמן Victor Scheinmanמאוניברסיטת סטנפורד המציא רובוט 9דרגות חופש טורי בשם זרוע סטנפורד Stanford Armשלאחר מספר גלגולים התפתח לרובוט מסוג פומה - Pumaמן השכיחים בתעשייה כיום. מבוא לרובוטיקה רובוט מדגם PUMA ד"ר ניר שוולב רובוט מדגם SCARA בשנת 6630חברה גרמנית בשם Kuka Roboticsיצאה גם היא לשוק עם רובוט 9דרגות חופש טורי חדש בשם Famulusובאמצע שנות ה 33-נפתחה תחרות על השליטה בעולם הרובוטיקה כאשר מספר תאגידים כמו ג'נרל אלקטריק ,ג'נרל מוטורס ואוטומטיקס נכנסו אף הם לשוק. לבסוף ,הראייה העסקית האמריקאית התבררה כקצרת טווח ,וכיום שולטים בשוק הרובוטיקה התאגידים היפניים Fujitsu ,Toyota, Sony, Hondaועוד .ב 6669-הכריזה הונדה על הרובוט דמוי האדם ,P2ולאחר ההכרזה הזו יצאו מספר חברות יפניות עם רובוטים דומים .מאז ועד היום חלה התפתחות מואצת בתחום ומניין סוגי הרובוטים רק הולך וגדל. נזכיר רק מספר אירועים מכוננים – 6613 :יוצר רובוט טורי בשם – 9333 Scaraהוצג לראשונה רובוט מקבילי מדגם דה וינצ'י לאופרציות לפרוסקופיה רפואיות – 9336 .חברת סוני מכריזה על ,Asimoרובוט דמוי אדם – 9339 .הרובוט Spiritמסייר באופן אוטונומי על פני מאדים. 9 11 ד"ר ניר שוולב מבוא לרובוטיקה רובוט מדגם de Vinci רובוט מדגם ASIMO מכאניקה נסקור כעת בקצרה את מבנהו המכאני של הרובוט הקרוי גם שרשרת קינמטית ( Kinematic )Chainשרשרת קינמאטית בנויה מחוליות ) , (Linksומפרקים ) ,(Jointsעליהם נעמוד בפרק הבא וממפעילים ( ,)Actuatorsאשר מאפשרים ריבוי דרגות חופש .בקצה כל שרשרת קינמטית קבועה יחידת הקצה ( )End Effectorשלה גיאומטריית השרשרת הקינמטית קובעת את סוג הרובוט. רוב הרובוטים המודרניים הם טוריים באופיים ,ונקראים רובוטים טוריים )(Serial Robots כלומר בנויים כשרשור סדרת חוליות ומפרקים (כדוגמת הזרוע האנושית הבנויה בסיס ,מפרק הכתף ,חוליית הזרוע ,מפרק המרפק ,חולית האמה ,מפרק שורש כף היד ,חולית כף היד המשמשת אותנו כיחידת קצה) .סוג נוסף של רובוטים הם הרובוטים המקביליים (Parallel ) robotsהבנויים שרשראות קינמטיות סגורות (כדוגמת חצובה בת שלוש רגליים טלסקופיות ,כל רגל קושרת בין מיקום יחידת הקצה וכיוונה לאדמה) .3מבנים אחרים המחקים את המבנה המכאני של בני אדם ,חיות וחרקים ,הם בעלי גיאומטריית שרשור מורכבת יותר ,והם נדירים יחסית בתעשייה ומקומם בדרך כלל במעבדות מחקר. המפעילים ) )Actuatorsהם "השרירים" של הרובוט -החלקים אשר ממירים את האנרגיה הזמינה לתנועה .4קיים מגוון של מפעילים: .1מנועי DCחשמליים ( )brushed and brushless DC motorsהם השכיחים ביותר. .2מנועי ACחשמליים שפעולתם נסמכת על מקור מתח מרובה פאזות. .3מנועי סרבו ) - (Servo motorsמנועים עם בקרה מובנית בחוג סגור ,כלומר ,מעגל משוב המשנה את כוח הדחק שמגיע למנוע בהתאם למידע מחיישן ומנתונים של המשתמש. 3להגדרה פורמאלית של רובוטים מקביליים ודיון בהם ראו פרק .66 4ברוב המקרים תהא זו אנרגיה חשמלית ,אך שכיח גם השימוש בלחץ אוויר. ד"ר ניר שוולב מבוא לרובוטיקה האות המוזן למנוע בדרך כלל מבוקר בשיטה הנקראת PWMועיקרה הזנת המנוע באות ריבועי שרוחבו (באחוזים מהאורך הכולל של האות) קובע את זווית המנוע. .4מנועי צעד ) - (Stepper motorמסתובבים בצעדים דיסקרטיים תחת שליטת בקר. .5מנועי פיאזו ) )Piezo motorאשר בסיס עקרון פעולתם האחד הוא רטט מהיר של גביש פיאזואלקטרי ,רטט אשר גורם לתנועה סיבובית או ליניארית (לדוגמא ,באמצעות סיבוב בורג הנעה ,עקרון אחר הוא זחילה של מכאניזם עשוי גביש פיאזו על גבי מסילה בסגנון תנועת זחל .)InchWorm .6שרירי אוויר ( ,)Air muscleהם מפעילים ליניאריים שעיקרון פעולתם דומה לזה של בלון ,בהבדל היחיד שההתארכות מוגבלת לממד האורך (כ.)93%- .7פולימרים אלקטרו-פעילים ( - )Electroactive polymersקבוצת פולימרים המשנים את צורתם בהשפעת גירוי חשמלי. .8ננו-צינוריות ( - )Elastic nano tubesזהו אלמנט הנפעל לגירוי חשמלי .הננו-צינוריות הן בעלות מבנה מולקולרי המאפשר להן מעוות אלסטי גדול במיוחד. .9סגסוגת זוכרת צורה ( )Shape Memory Alloyהעשויה תיל .Nitinolכאשר מחממים את התיל הוא מתקצר ב( 63% -בשונה ממתכות אחרות) .אציין כי במהלך ההתקצרות מתפתחים מאמצים ניכרים ,בשיעור של כ 6.5-טון לסנטימטר מרובע .תיל דק כשערה, בקוטר ארבע אלפיות המילימטר ,יכול לשאת משקל של 069גרם. .11סולנואיד ( – )Solenoidאלמנט הנעה ליניארי העשוי סליל סביב ליבת ברזל בעל שני קטבים .כאשר זרם זורם דרך הסליל ,נוצר כוח אלקטרומגנטי המושך את ליבת הברזל. כאשר נפסק הזרם ,נפסק גם הכוח האלקטרומגנטי ופיסת הברזל חוזרת למקומה ההתחלתי על ידי קפיץ. .11אקטואטור הידראולי Hydraulic (העושה שימוש בשמן) ,ואקטואטור פנאומטי ( Pneumaticהעושה שימוש בגז) מייצרים תנועת בוכנה ליניארית .מערכות הידראוליות מנוצלות כאשר קיימת סכנת התלקחות .מערכות הנעה פנאומטיות נפוצות בזרועות אוחזות .ע"י דחיסת הגז המנגנון נהיה נוח יותר לתפעול ,והסיכוי שהחפץ בו אוחז הרובוט יישבר קטן .רובוטים זקוקים ,אם כן ,לאלמנט אחיזה בכדי לבצע מניפולציות על סביבתם. כאמור ,בקצה כל שרשרת קינמאטית קבועה יחידת הקצה ) ,(End Effectorהמכּונה בספרות גם כתפסנית ) .(Gripperזוהי היחידה המכאנית שיעודה הוא אחיזה ,חישה ,ראייה ,כלי עיבוד וכדומה .רוב הרובוטים התעשייתיים הנדרשים למגוון פעולות מאפשרים החלפה מודולארית של יחידת הקצה שלהם .אחרים ,בעלי מבנה תפסנית מורכב מספיק (לעיתים 11 12 ד"ר ניר שוולב מבוא לרובוטיקה בצורת יד אנושית) המאפשר אחיזה במגוון רב של צורות מרחביות .6,5נסקור את הבולטות מבין יחידות הקצה: .1יחידת קצה לופתת -האחיזה מתבצעת באמצעות לחיצת אצבעות על גבי משטחי האחיזה ובהסתמך על קונוסי החיכוך ,כדוגמת היד האנושית הלופתת ידית ספל .נפוץ מאוד בתעשייה ובמחקר. .2יחידת קצה כלי – כלי עבודה משמש כיחידת הקצה .כדוגמאות נציין כלי ריתוך ,נעיצה ופטישים. .3יחידת קצה דוחפת – הרובוט מבצע פעולות על הגיאומטריה ללא לפיתה ובהסתמך על חיתוך קונוסי כוח (ראה [ ] 1ברשימת המקורות) ,השימוש ביחידת קצה כזו נפוץ עבור רובוטים צועדים ומטפסים ורובוטים המשמשים בתעשייה כמכונות ממיינות. .4יחידת קצה מגנטית -אחיזה והתנתקות ע"י הפעלה וכיבוי של אלקטרו-מגנט ,קירוב והרחקה של מגנט קבוע לפני המשטח או חציצה בחומר דיאמגנטי (ראה [ ]6ברשימת המקורות) .משמש בתעשייה בעיקר לצרכי מיון ואלמנט אחיזה לרובוטים מטפסים. .5יחידת קצה וואקום אקטיבי -ההדבקה וההתנתקות נעשים באמצעות הפעלת מדחס. אינו נפוץ ומשמש בעיקר לרובוטים מטפסים ,ולרובוטים המשמשים כמנופים בתעשייה. .6יחידת קצה וואקום פסיבי – אחיזה והתנתקות נעשית ע"י משיכה לא סימטרית של פומית וואקום .אינו קיים בתעשייה ומשמש בעיקר במעבדות מחקר עבור רובוטים מטפסים. .7יחידת קצה אוחזת באמצעות דבק .אינו קיים בתעשייה ומשמש בעיקר במעבדות מחקר עבור רובוטים מטפסים. .8יחידת קצה האוחזת אחיזת קידוח – יצירה פעילה של נקודות אחיזה .אינו קיים בתעשייה ומשמש במעבדות מחקר עבור רובוטים מטפסים. .9יחידת קצה האוחזת אחיזת קוצים – כדוגמת חרקים .אינו קיים בתעשייה ומשמש בעיקר במעבדות מחקר עבור רובוטים מטפסים. .11יחידת קצה שממית ( - (Geckoאחיזה הנסמכת על אפקטים פיזיקאליים .נכון ליום כתיבת הספר משמש במעבדות מחקר בלבד. רובוטים ניידים רובוטים המסוגלים לתנועה עצמאית (באופן חלקי או מלא) תוך התייחסות לסביבתם מכונים רובוטים ניידים ( .)Mobile Robotsהספר אינו עוסק ברובוטים ניידים ,למרות חלקם הלא 5ראו לדוגמא התמונה שעל גבי כריכת הספר. 6על התיאוריה של אחיזה לא נעמוד בספר ,עם זאת לשם העניין נזכיר את המושג הנקרא קונוס חיכוך :גוף המתחכך בתפסנית בנקודה מסוימת פורש קונוס דמיוני .הגוף יישאר סטאטי כל עוד הכוחות הנפעלים עליו נשארים "בתוך" הקונוס .בכדי לאחוז בחפץ באופן יציב יש,אם כן ,לפרוש מספיק קונוסים כך שכל כוח הנפעל על החפץ ישאיר את החפץ במקומו .הקורא המתעמק ימצא עניין ב ]06[ -במקורות. ד"ר ניר שוולב מבוא לרובוטיקה מבוטל במחקר התיאורטי והמעשי כיום .עם זאת נציין את מנגנוני התנועה הנפוצים)6( : תנועה ע"ג גלגלים .מספר הגלגלים משתנה מגלגל יחיד (ראה [ ]63ברשימת המקורות) וכלה בריבוי גלגלים ( )9תנועה ע"ג זחל ( )0התקדמות נחש ( )9החלקה ( )5שחייה ( )9צעידה. הטכניקות העומדות בבסיס הבקרה על הרובוטים הניידים נחלקות לשלוש קבוצות עיקריות: .1טכניקת נקודת מומנט אפס ( )Zero Moment Positionשעיקרה חישוב מהיר של הכוחות האינרציאליים ופיצוי עליהם באמצעות תאוצה .נדגיש שהתנועה בשיטה זו דורשת חישובים דינמיים בצד חישובי כוחות .נעיר כי בני אדם אינם נוקטים בשיטה זו לצעידה. .2קפיצה ,פיצוי דינמי – ייצוב דינמי שננקט במספר רובוטים ניסויים אשר בבסיסה עומד הרעיון שקפיצה (או צעידה) לכיוון מסוים מפצה על נפילה לאותו כיוון. .3דינמיות פסיבית – שימוש במומנט האינרציה של הגפיים לשם שמירה על איזון וצעידה. לדוגמא :בעת צעידה על מדרון יוכל הרובוט לצעוד ,אגב הספק מינימאלי למנועים. מבנה הספר הספר אינו מתיימר לכסות את כל התיאוריה העומדת בבסיס העיסוק ברובוטיקה ,אלא להוות ספר לימוד ותרגול עבור קורס המבוא ברובוטיקה בלבד .בכתיבתו הנחתי כי החומר הבסיסי באלגברה ,חשבון אינפיניטסימאלי ,פיזיקה בסיסית ודינמיקה מוכר לקורא .בשלושת הפרקים הראשונים נדון בבסיס הקינמטי של העיסוק ברובוטיקה .בעיית הקינמטיקה הישירה ,שבה נדון בפרק ,9עוסקת בחישוב מיקום ואוריינטציה של חוליות הרובוט .בעיית הקינמטיקה ההפוכה ,שבה נדון בפרק ,5עוסקת בחישוב ערך פרמטרי של מפעילים בהינתן מצב יחידת הקצה .באנליזת מהירות התפסנית ,שבסיסה קירוב ליניארי של הקינמטיקה הישירה ,נעסוק בפרק .9בפרק 3נעסוק באנליזה סינגולארית בה הקירוב הלינארי מאבד ממד .בפרק 1נעסוק באנליזת כוחות ,שעיקרה חישוב הכוחות הנחוצים במפעילים לקבלת כוח שעל יחידת הקצה להפעיל .פרק 6מעמיק את הדיון באנליזת כוחות ודן באנליזת קשיחות ,כלומר במצב בו המפרקים מדגימים גמישות משמעותית .בפרק 66נדון ברובוטים מקביליים שאט אט תופסים נפח בתעשייה .נחתום את הספר בפרק 69הדן בפן תיאורטי בחקר רובוטיקה -מרחבי הקונפיגורציה שלהם .כלומר המרחבים המייצגים את כל הקונפיגורציות האפשריות .אלו האחרונים חיוניים לבעיות תכנון תנועה ועומדים בבסיס כל התיאוריות שנלמד בספר .מאחר שהעיסוק ברובוטיקה מזמן לעיתים קרובות את הצורך בפתרון מערכת משוואות לא לינארית מצאתי לנכון לסקור את הנושא בקצרה בנספח א .אחד מהעיסוקים החשובים בחקר רובוטיקה הנובע הוא נושא תכנון התנועה; הספר דן בנושא בקצרה בלבד בפרק 69ובנספח ב' .הדינמיקה בהקשר הרובוטי עוסקת בקשרים בין הכוחות המסופקים לתאוצות יחידת הקצה ניגע בנושא רק בקצרה בנספח ג' .בכתיבת הספר נעזרתי בספרים העדכניים ביותר אשר בנמצא ראו [ ]6עד [ ]3ברשימת המקורות ,ובספרות עדכנית המתפרסמת בעיתונות המקצועית ראו [ ]1ועד [ .]09כולי תקווה כי הקורא ימצא את הספר בהיר ומקיף .בהצלחה. 13 14 ד"ר ניר שוולב מבוא לרובוטיקה .6דרגות חופש רובוט Mechanical )Manipulator ()links מורכב ממספר (Robot, חוליות המחוברים ביניהם באמצעות מפרקים ( .)Jointsמספר דרגות החופש ( )Degrees Of Freedomשל מכאניזם כזה תלוי במספר החוליות והמפרקים באופן חיבורם יחדיו ובאופיים של המפרקים. בפרק זה נגדיר מהם חוליות ,אילו מפרקים קיימים ,נגדיר מהן שרשראות קינמטיות. לאחר מכן נעמוד על המושג דרגות חופש ונלמד כיצד לחשב אותן. הגדרת המושג רובוט :רובוט הוא מכונה (נייחת או ניידת) הניתנת לתכנות חוזר .על המכונה לשמש למגוון שימושים .7כאשר המונח תכנות מתייחס לעריכת תוכנה ללא שינויים מכאניים. ההגדרה היפנית שונה במעט וכוללת גם מכאניזמים פשוטים יותר. חוליות ) (Linksהם אלמנטים קשיחים 8אשר יוצרים את הרובוט .עם זאת ,על המתכנן לזכור שהחוליות מציגות גם תכונות אלסטיות בנוכחות מאמצים גדולים .ברור ששתי חלקים אשר אינם מציגים כל תנועה יחסית ביניהם יוכלו להיחשב ואכן יחשבו כחוליה אחת (לדוגמא :גלגלי שיניים צמודים לציר ומקובעים האחד לשני ,יחשבו כחוליה אחת לשם חישובים). שתי חוליות ניתנות לחיבור באמצעות מפרקים ) ,(Jointsבמקרה כזה זוג החוליות נקרא בספרות זוג קינמטי ) .(Kinematic pairהמפרק מאפשר תנועה מוגבלת בין שתי החוליות אותן הוא מחבר .התנועה מוגדרת על פי האילוצים המגבילים אותה ,כאשר סוג האילוץ קובע גם את סוג הזוג הקינמטי: זוג קינמטי המקיים מגע בנקודה אחת או לאורך קו ייקרא זוג קינמטי גבוה ) ,(High pairואילו זוג חוליות המקיימות מגע על פני משטח דו ממדי ייקרא זוג קינמטי נמוך ). (Low Pair בתעשיית הרובוטיקה רווח השימוש במספר מצומצם של מפרקים .נציין את השכיחים ביותר: 7פורמאלית ב 6663 -נוסחה ההגדרה ( :)6663 ISO TR 8376רובוט תעשייתי הוא מכונה (נייחת או ניידת) הניתנת לתכנות חוזר .על המכונה לשמש למספר אפליקציות תעשייתיות .המונח תכנות מתייחס לעריכת תוכנה ללא שינויים מכאניים. 8בספרות המקצועית לעיתים מדברים על חוליות גמישות ,בספר נתחשב אך ורק בחוליות שאינן קשיחות. ד"ר ניר שוולב מבוא לרובוטיקה 15 iדרגות חופש סימן איור שם זוג קינמטי מפרק סיבובי ,מפרק המגע מתקיים על יסומנו ב רוטציוני (סיבוב על ציר) R המחבר ולכן זהו זוג אחת דג"ח ( ) f 1היא הזווית בין היחסית Revolute/Rotational נמוך. מפרק פריזמטי ,קרוי גם המגע מתקיים על בעל ליניארי (הזזה גבי מעטפת המפרק ( ,) f 1היא המרחק מפרק P גבי מעטפת הפין בעל fi לאורך ציר) החוליות. המחליק ולכן זהו זוג נמוך. אחת דג"ח בין החוליות. Prismatic / slider מפרק כדורי ,מכונה גם המגע מתקיים על (סיבוב גבי מעטפת כדור מפרק ספרי חופשי סביב נקודה) S ההחלקה ולכן זהו זוג נמוך. בעל 0דג"ח ( ,) f 3 הן שלושת הזוויות את המגדירות הכיוון של חוליה Spherical ביחס אחת לחברתה. מפרק ַק ְר ָדן קרוי גם המגע מתקיים על אוניברסלי, שני מפרק U גבי מעטפת המחברים ומפרק הוק (סיבוב בשני הפינים צירים) ולכן זהו זוג נמוך. מפרק צילינדרי (הזזה המגע מתקיים על וסיבוב גבי מעטפת המפרק C סביבו) המחליק ולכן זהו זוג נמוך. Cylindrical E מפרק מישורי (תנועה המגע מתקיים על צמודה על מישור) המישור על כן זהו זוג נמוך. Plane pair הן המגדירות את הכיוון של חוליה ביחס לחברתה. Hooke's לאורך שתי הזוויות אחת Universal / Cardan / ציר בעל 9דג"ח ( ,) f 2 בעל 9דג"ח ( ,) f 2 הוא המרחק החוליות, בין והזווית ביניהן. בעל 0דג"ח ( ,) f 3 הן זווית הסיבוב ומיקום האחת השנייה. החוליה על גבי 16 ד"ר ניר שוולב מבוא לרובוטיקה מפגש גלגלי שיניים המגע מתקיים לאורך קו על כן זהו Gear train G זוג פיקה ועוקב זוג גבוה. המגע מתקיים לאורך קו על כן זהו CP follower and Cam זוג גבוה. בעל דרגת חופש אחת ( .) f 1 בעל שלוש דרגות חופש ( .) f 3 pair הבהרה :זוג גלגלי השיניים ניתן למידול כמנגנון ארבעה מוטות מישורי ) ABCDראה איור בתרגיל :)66.6אם נחשוב על ADכעל חוליית האדמה ,חוליה ABוחוליות CDייצגו את הווקטור הנמתח מציר גלגלי השיניים לנקודות המגע בהתאמה .החוליה הנותרת BCשנחשוב עליה כקצרה מאוד מייצגת את המגע בין גלגלי השיניים .תחת התיאור הזה ובהתחשב בעובדה שקביעת זווית אחת במנגנון ארבע חוליות קובע את מצב המכניזם כולו ,נקל להיווכח שאמנם לזוג גלגלי שיניים דרגת חופש אחת. הערה :לבד מהמפרקים שצוינו בטבלה נזכיר עוד סוג שהשימוש בו נדיר בעולם הרובוטיקה (ראה לדוגמא [ ]44ברשימת המקורות) :ספירה מתגלגלת עם החלקה על מישור -במקרה הזה מדובר בחמש דרגות חופש 0( .דרגות חופש עבור האוריינטציה 9 ,דרגות חופש למיקום). שרשרת קינמטית ) ( Kinematic Chainהיא תצרף של חוליות המחוברות ביניהן באמצעות מפרקים .כאשר כל חוליה מחוברת לחוליה אחרת דרך שני מסלולים (כלומר שני רצפים של מפרק – חוליה – מפרק - ... -מפרק) שונים השרשרת נקראת שרשרת קינמטית סגורה ) .(Closedכאשר כל חוליה מחוברת לחוליה אחרת במסלול יחיד השרשרת נקראת שרשרת קינמטית פתוחה ) .(Openשרשרת קינמטית יכולה להיות שילוב של השניים ,ובמקרה כזה תקרא השרשרת – שרשרת קינמטית היברידית ).(Hybrid שרשרת קינמטית נקראת מכאניזם ) (Mechanismאו מנגנון ) (Linkageכאשר אחת או יותר מן החוליות מקובעות לאדמה .חוליה זו קרויה בסיס המכאניזם .מהות המכאניזם היא העברת תנועה/סיבוב או כוח/מומנט מחוליה אחת או יותר (חולית הכניסה) לחוליה אחרת (חולית היציאה) .דוגמת המכאניזם שבאיור ממירה תנועה סיבובית לתנועה ליניארית וההפך. ד"ר ניר שוולב מבוא לרובוטיקה מכונה ) (Machineהיא שילוב של מכאניזמים בתוספת מקור כוח חיצוני (לא ידני) לחוליות הכניסה .מכונת כביסה ,לדוגמא ,משתמשת במנוע חשמלי להנעת מנגנון הפחתת מהירות ,וזה בתורו מסובב את תוף הכביסה. סימון :בכדי להבהיר את המבנה של שרשרת קינמאטית פתוחה נתונה וסוג המפרקים בהם היא עושה שימוש ,נהוג לסמנה ברצף האותיות (הנקראות משמאל לימין) המסמנות את סוגי המפרקים מהמפרק הראשון הקרוב ביותר לבסיס ועד לרחוק ביותר (לדוגמא RUSיסמן שרשרת פתוחה המורכבת ממפרק סיבובי ,קרדן וספירי). בהינתן גיאומטריה של רובוט ,נשאלת השאלה כמה מנועים נדרשים להפעלתו; השאלה כפי שנוסחה כאן ,יכולה להתפרש לשני פנים והתשובות לשאלות אלו אינן תמיד זהות: .1מהו מספר המנועים שידרשו לקבוע מיקום ואוריינטציה של כל חוליה וחוליה ברובוט? התשובה לשאלה זו מכונה בספרות המוביליות ) (Mobilityשל הרובוט. .2מהו מספר דרגות החופש בהן נעה יחידת הקצה ? התשובה לשאלה זו מכונה בספרות מספר דרגות החופש ( )Degrees Of Freedomשל לרובוט. לבד ממספר מצומצם של מכאניזמים ,ניתן לחשב את המוביליות כתלות במספר החוליות, מספר המפרקים וסוגם, ואופן החיבור של החוליות והמפרקים. האיור שמשמאל ממחיש את מושג המוביליות (מסומן ב.)F- חוליות המכאניזם המשולשי אינן יכולות לנוע אחת ביחס לשנייה ולכן המוביליות מתאפסת .לעומת זאת ,החוליות במכאניזם ארבעת החוליות (Four ) bars mechanismיכולות לנוע אחת ביחס לשנייה .יתר על כן ,אם נקבע את הזווית יקבעו המיקום והאוריינטציה של החוליות כולן (ולדוגמא הזווית תקבע כפונקציה של הזווית .) בדומה ,החוליות במכאניזם חמשת המוטות תקבענה כולן בהתאם לשתי הזוויות 1 , 2ולכן המוביליות של המנגנון תהא .9 נבנה את הנוסחה למוביליות באמצעות "חיבור" חוליה אחרי חוליה .נתחיל מהמקרה המישורי (כל החוליות נעות במישור) :חוליה חופשית המוגבלת לתנועה במישור יכולה להעתיק את מקומה בכוון Xאו Yולהסתובב בזווית לעומת ציר , Xולכן המוביליות שלה תהא .0אם נוסיף חוליה נוספת יעלה ערך המוביליות ל 9-וכן הלאה .וכך עבור המקרה 17 18 ד"ר ניר שוולב מבוא לרובוטיקה המישורי m ,חוליות חופשיות ,תהנה בעלות מוביליות .3mהוספת מפרקים תגביל ,כמובן, את אפשרויות התנועה של החוליות .נדמיין כעת שתי חוליות המחוברות ביניהן במפרק סיבובי ומוגבלות לתנועה במישור .במקרה כזה נוכל למקם את החוליה הראשונה ולסובבה כרצוננו ( 0דג"ח) ,ובעשותנו זאת קבענו את מיקום החוליה השנייה (כלומר נגזלו ממנה שתי דרגות חופש) ונשאר עבורה החופש לסיבוב בלבד ( 6דג"ח) .סה"כ עבור תוספת המפרק הסיבובי "שילמנו" בשתי דרגות חופש .ובהכללה נוכל לרשום F 3m 2f1כאשר f 1מציין את מספר המפרקים הסיבוביים F ,את המוביליות ו – mאת מספר החוליות .בסימונים המקובלים בספרות ובהכללה לכל סוגי המפרקים הנוסחה תראה כך: F 3 n - 1 - g f i i )(1.1 זהו קריטריון גרובלר-קוצבאך ( )Grüebler-Kutzbach criterionעבור המקרה המישוריn . מציין את מספר החוליות כולל חולית האדמה (תמיד נוסיף חולית אדמה אחת אם ברצוננו לחשב את המוביליות יחסית לאדמה) g ,את מספר המפרקים ,ו f i -את מספר המפרקים בעלי iדרגות חופש (דג"ח) (ראה עמודה שמאלית בטבלת המפרקים) .נשים לב כי אם "האדמה" נספרת (גם אם אינה חלק מהמכניזם) התוצאה מלמדת על המוביליות ביחס לאדמה (כלומר כולל תזוזות וסיבובים לעומתה) בעוד שאם האדמה אינה נספרת התוצאה מלמדת על המוביליות ה"פנימית" של המכאניזם. דוגמא :עבור המכאניזם המקבילי המישורי 5Rשבאיורn=5 , (החוליות מוספרו באיור) g=5 ,ו( f1=5 -המפרקים הסיבוביים בעלי דג"ח אחת) לכן: F 3 n - 1 - g f i i 35 - 1 - 5 5 1 2 כלומר ,דרושים שני מנועים להנעת המכאניזם .בחירת המפרקים שיפעילו את המכאניזם היא שרירותית מבחינה קינמטית ,בשלב זה ,ונתונה לשיקולי המתכנן. דוגמא :עבור המכאניזם המקבילי המישורי RRRP שבאיור g=4 ,n=4 ,ו( f1=4 -המפרקים הסיבוביים והמפרק הפריזמטי כולם בעלי דג"ח אחת). לכן: F 3 n - 1 - g f i i 34 - 1 - 4 4 1 1 לעיתים יש צורך בחיבור של שלוש חוליות ויותר למפרק יחיד .במקרה כזה נספור k-1מפרקים עבור התפצלות של kחוליות. התפצלות של 1חוליות תחושב כ 6-מפרקים ד"ר ניר שוולב מבוא לרובוטיקה תרגיל :4.4מצא את המוביליות של המכאניזם המישורי שבאיור. תשובה :אם נביא בחשבון את הפלטפורמה העליונה כחוליה אחת ,נקבל: n 12 , f1 g 15 התפצלות של 1חוליות תחושב כ 6-מפרקים ; F 3 12 - 1 - 15 15 3 גם אם נחשוב על הפלטפומה כעל שלוש חוליות התשובה תהיה זהה; g f1 18 , n 14 : F 3 14 - 1 - 18 18 1 3 תרגיל :4.5כמה מנועים על המתכנן להכניס לרובוט המקבילי המישורי 3RRRשבאיור (כאן ,הספרה 0בתחילת הסימון מציינת את מספר הרגליים). תשובה: , g f1 15 ; n 8 F 3 8 - 1 - 9 9 1 3 מכאן שדרושים שלושה מנועים להנעת המכניזם .במילים אחרות אם נקבע שלושה מפרקים יתקבל ,F=0בדקו זאת הערה :במקרים בהם , F=0המכאניזם למעשה אינו יכול לזוז .במקרים בהם F<0עלולים להתפתח כוחות במפרקים (כלומר צריך להפעיל כוחות ,כדי להרכיב את המכאניזם או לחילופין יש לדאוג שהמכניזם יהיה מדויק או עם חופשים בצירים) ושוב המכאניזם אינו יכול לזוז .זהו למעשה מסבך "לא מסוים סטאטית". הערה :חישוב המוביליות נכון עבור רוב המכאניזמים אבל לא עבור כולם כדי להבין זאת נתמקד במכאניזם הפרדוקסאלי )(Paradoxical שבאיור .חישוב מראה כי : n 5, g f1 6 ; F0 אולם בפועל ברור כי .F=1הבעיה טמונה בבחירת יחסי האורכים .אם אורך הזרוע המרכזית, לדוגמא ,הייתה אחרת מהשתיים האחרות ,המכאניזם היה אכן "תקוע" ,אולם בבחירה הנתונה המכאניזם הוא בעל מוביליות .6מכאן נסיק כי נוסחת המוביליות נכונה בהנחת גנריות המכאניז ם ,כלומר בהנחה שאין יחסים מיוחדים בין אורכי החוליות .עמל רב הושקע במחקר לניסוח קריטריון ברור יותר לחוסר ההתאמה של הנוסחה אך קצרה היריעה מלהכיל את המסקנות (הקורא המתעניין יעיין ברשימת המקורות ב [.)]69 19 מבוא לרובוטיקה 21 ד"ר ניר שוולב תרגיל ( :4.6א) חשב את המוביליות של המכאניזם שבאיור. תשובה( :א) המכאניזם כולל 5חוליות (אדמה ,שני גלגלי שיניים ,הפלטה המשולשת וגלגל שיניים נוסף המקובע לידית) .המפרק הסיבובי המחבר בין האדמה ,גלגל השיניים הגדול והפלטה יילקח בחשבון כ 9מפרקים כיוון שהן הפלטה והן גלגל השיניים חופשיים להסתובב באופן בלתי תלוי ביחס לאדמה .המפרק הסיבובי השני מחבר בין הפלטה לגלגל השיניים האמצעי .המפרק הסיבובי השלישי מחבר בין גלגל השיניים המחובר לידית והפלטה .קיימים 9מפרקים נוספים ,כל אחד בתורו מורכב מזוג גלגלי שיניים ,כלומר: 9מפרקים נוספים בעלי 9דרגות חופש כ"א .ולסיכום: , g 6, f1 4, f 2 2 ; n 5 F 3 5 - 1 - 6 4 1 2 2 2 המכאניזם כולו יכול להסתובב סביב ציר החיבור לאדמה .בנוסף ,ובאופן בלתי תלוי ,ניתן לסובב את ידית המכאניזם. חישוב המוביליות למקרה התלת מימדי יעשה בדרך דומה ,כאשר השוני הוא במספר דרגות החופש הנתונות לחוליה החופשית לנוע במרחב שלושה ממדי .במקרה זה החוליה יכולה להעתיק את מקומה בשלשה ממדים ,ולהסתובב סביב כל אחת משלשת הקואורדינאטות. סה"כ מספר דרגות החופש "העומדות לרשות" חוליה חופשית במרחב הוא .9אם כך ,ננסח את קריטריון גרובלר-קוצבאך עבור המקרה התלת ממדי באופן הבא: )(1.2 F 6n - 1 - g f i i הערה :השוני בנוסחאות במקרים התלת והדו ממדי ,הוא באופן ההתייחסות לצירי הסיבוב במקרה הדו ממדי .במקרה המישורי אנו מניחים במובלע כי כל הצירים מקבילים בעוד שאין כל הנחה על כיוונם במקרה התלת ממדי . תרגיל :4.1חשב את המוביליות עבור הרובוט המקבילי ( 3PRPSמדגם )Alizadeהמרחבי המודגם באיור. תשובה :ישנם 9מפרקים פריזמטיים 0 ,מפרקים רוטציוניים, ו 0-מפרקים כדוריים .ומכאן . f 3 3, f1 9, g 12מספר ד"ר ניר שוולב מבוא לרובוטיקה החוליות כולל האדמה .n=11ולכן . F 6 תרגיל :4.2חשב את המוביליות עבור רובוט 6UPSהמקבילי המרחבי המודגם באיור (זוהי פלטפורמת סטיוארט ,ראה גם תמונה בתחתית העמוד). תשובה :ישנם 9מפרקים פריזמטיים 9 ,מפרקי קרדן ,ו9- מפרקים כדוריים .ומכאן . f 3 6 , f 2 6 , f1 6, g 18 מספר החוליות כולל האדמה .n=14ולכן: F 614 - 1 - 18 6 1 6 2 6 3 6 S P U במילים אחרות ,כאשר המפרקים חופשיים, המכניזם כולו חופשי לנוע ב 9דרגות חופש (עבור המכניזם הזה ששת דרגות החופש מתרגמות למיקום ואוריינטציה של הפלטה) נבדוק כעת את המכאניזם שבאיור .ישנם 9 חוליות, ו9- רוטציוניים, מפרקים ומכאן ( . n g f1 4בחרנו ,n=4מכיוון שאיננו מעוניינים בטרנסלציה ורוטציה יחסית לאדמה) ולכן F 6 4 - 1 - 4 4 1 2 הווה אומר ,המכאניזם תקוע עם מאמצים שיוריים (שימו לב שחישבנו מוביליות "פנימית" של המכאניזם .מכאניזם כזה נקרא ,Bennet Mechanismע"ש ממציאו .בנט הראה כי המוביליות של מכאניזם כזה תהיה 6אם ,ורק אם ,מתקיים השוויון sin sin a b במכאניזם מרחבי. .שוב נתקלנו ,אם כן ,במכאניזם פרדוקסאלי ,הפעם מערכת רובוטית בנויה ממכאניזם ,תפסנית ("יד הרובוט") ,בקר, מחשב ולעיתים מערכת חישה ומערכת היגוי ידנית .מכאניזם הרובוט בנוי חוליות ומפרקים ,כאשר לפחות אחת החוליות מוגדרת כיחידת הקצה (או התפסנית) .על חלק מהמפרקים להיות ממונעים בעוד שהאחרים יכולים להישאר פסיביים .בד"כ מספר המפרקים הממונעים יהא שווה לערך מוביליות המכאניזם בכדי לאפשר שליטה מלאה ככל הניתן על כל חלקי המכאניזם (כפי שניווכח בפרק על סינגולאריות לעיתים אין הקביעה הזו מספקת ,ויש צורך בתוספת מנועים בכדי לאפשר שליטה מוחלטת ברובוט עבור כל רובוט מקבילי מדגם Stewart 21 22 מבוא לרובוטיקה ד"ר ניר שוולב קונפיגורציה אפשרית) .התפסנית ,או יחידת הקצה ) (End-effector, Gripperזהו אלמנט הרובוט הנפעל על אובייקטים .תפסניות יכולות לאחוז במגוון טכניקות (ראה פרק המבוא) אך לרוב המדובר באחיזה מכאנית באמצעות 9לְ חָּ יַיִ ם .אלא אם יצוין אחרת ,דרגות החופש של התפסנית לא יילקחו בחשבון בחישובי המוביליות של רובוטים בספר. להמשך דיון ברובוטיקה ,נזדקק למס' הגדרות: מרחב העבודה ) (Work spaceהוא המקום הגיאומטרי אליו יחידת הקצה יכולה להגיע במהלך תנועת הרובוט .באיור שלמטה מודגמים מרחבי העבודה של מספר רובוטים. מרחב העבודה מציין אם כן את המקום הגיאומטרי אליו יכולה יחידת הקצה להגיע .עבור הרובוט התעשייתי ,שמשימותיו כוללות בדרך כלל אחיזה ושינוע אובייקטים במרחב העבודה, חשובות הנקודות בהן יכולה התפסנית להסתובב בכל אוריינטציה שהיא .אוסף הנקודות הללו נקרא מרחב המיומנות ) .(Dexterity Spaceכלומר ,זהו אוסף הנקודות אליהן יכולה ד"ר ניר שוולב מבוא לרובוטיקה התפסנית להגיע ולהתכוונן ב 0-דג"ח של אוריינטציה במרחב ,או 6דג"ח של אוריינטציה במישור. לדוגמא :מרחב העבודה של הרובוט המישורי RRהוא דיסקה ,אולם מרחב המיומנות שלו הוא ריק .אלא במקרה שבו , L1 L 2או אז תוכל החוליה השנייה להתקפל ולהתיישר עם הראשונה ,ובמצב כזה יכיל מרחב המיומנות את הנקודה המרכזית. תרגילים נוספים 1.6הראה שהמוביליות עבור -nמצולע היא . n - 3 1.7מצא את המוביליות עבור כל אחד מה מכאניזמים הבאים: F=1 F=1 F=6ביחס לאדמה F=9ביחס לאדמה F=0 F=1 1.8הוכח שלמכאניזם מישורי עם מספר אי-זוגי של חוליות יש מוביליות זוגית וההפך. 1.9מהו מרחב העבודה של רובוט מישורי טורי 5Rעם חוליות באורכים ? L1,L2,..,L5 23 24 מבוא לרובוטיקה 1.11 ד"ר ניר שוולב (א) מהו מרחב העבודה של רובוט מישורי מקבילי הבנוי kזרועות בעלות שלוש מפרקים סיבוביים כל אחת? בסיס כל זרוע קבוע באדמה וקצה כל הזרועות מתחבר לנקודה אחת ,המשמשת כיחידת הקצה ? (ב) מצא את כל טיפוסי מרחבי העבודה עבור רובוטים כנ"ל כאשר .k=3 1.11 הראה שהמוביליות של הרובוט באיור היא .9 1.12 סווג את הרובוטים ונמק: 1.13 מצא את המוביליות של הרובוטים באיורים (א)(,ב) .מסקנתך לגבי רובוטים טוריים ? 1.14 מהו מרחב המיומנות של רובוט טורי מישורי .3Rמהם התנאים על אורכי החוליות לקבלת מרחב מיומנות לא ריק ? ד"ר ניר שוולב מבוא לרובוטיקה .9מערכות צירים מעתה נעסוק ברובוטים טוריים ונחזור לאלו המקביליים רק בסוף הספר .אנו מעוניינים במיקום ואוריינטציה של התפסנית ביחס למערכת בסיס הרובוט .אם נתמקד באיור ונביט במערכת הצירים הצמודה לתפסנית ,נקל להבין כי כאשר זוויות המפרקים ישתנו המערכת תעבור טרנספורמציה הכוללת תזוזה (העתקה) וסיבוב .ולכן ,לשם נוחות נצמיד מערכת צירים לכל חוליה: תאור חוליות רובוט באמצעות מערכות צירים ובכדי לקבל את מיקום התפסנית והאוריינטציה שלה יש למצוא את הטרנספורמציה (סיבוב והזזה) של מערכת 0ביחס ל ,9-את הטרנספורמציה של מערכת 9ביחס ל 6ואת הטרנספורמציה של זו האחרונה ביחס למערכת הבסיס (מערכת .)3בפרק זה נעסוק בטרנספורמציות הליניאריות שיעזרו לנו בהמשך בתיאור מיקום התפסנית ביחס למערכת בסיס קבועה. להמשך דיון נזכר במעט אנליזה ווקטורית ומספר סימונים: הגדרה :בהינתן מרחב וקטורי , הבסיס האורתונורמאלי ) (Orthonormal Basisשל הוא קבוצה מינימאלית של וקטורי יחידה מתוך , הפורשים את . בנוסף ,מכפלה פנימית של כל שניים מהם מתאפסת (במילים אחרות :כל הוקטורים ניצבים בזוגות). הגדרה :בהינתן שני ווקטורים uו , v -המכפלה הפנימית ) (Inner productשלהם מוגדרת: x2 , u v x 1 , y1 , z1 y 2 x 1 x 2 y1 y 2 z1 z 2ומתקיים , v u v u cosכאשר z v היא הזווית בין uו . v -נשים לב כי במידה ש v -הוא וקטור יחידה ,תוצאת המכפלה הסקאלרית תהיה אורך היטל uעל . v 25 26 ד"ר ניר שוולב מבוא לרובוטיקה הגדרה :בהינתן שני ווקטורים u, vהמכפלה הוקטורית ) (Vector Productשלהם מוגדרת ˆj ˆi kˆ כ x 1 y1 z 1 ומתקיים u v u v sin כאשר x 2 y2 z2 הזווית בין uו . v -נשים לב כי תוצאת המכפלה v u wניצבת לשני הוקטורים x2 y2 z 2 x1 , u v y1 z 1 המוכפלים w v u וכיוונה נקבע ע"פ כלל יד ימין. סימון:מעתה נסמן את מיקום נקודה Pבמערכת צירים X,Y,Zשל מערכת Aב - Px A P Py Pz הערה :וקטור הינו ישות מתמטית שאינה תלויה במערכת הקואורדינאטות .התלות במערכת זו או אחרת הוא בייצוגו המספרי בלבד .הצגה גראפית מקובלת לוקטור במרחב האקלידי היא חץ ,כמודגם באיור ,ונהיר שניתן להזיזו מראשית מערכת הצירים כמודגם. אוריינטציה ) (Orientationהיא תיאור הטיית הגוף ביחס לעולם .התיאור נעשה באחת משתי השיטות השקולות :האחת ,באמצעות ציון זוויות ההטיה סביב כל קואורדינאטה (ראה איור); והשנייה ,בעזרת תיאור של כל ווקטור בסיס במערכת הגוף הכתוב במערכת קואורדינאטות של העולם. נחזור כעת לבעיה המקורית שלנו :תיאור מערכת קואורדינאטות אחת באמצעות אחרת. תיארנו את הסיטואציה הבאה :נתונה מערכת העולם XA, YA, ZAונתונה מערכת נוספת XB, YB, ZBהמסובבת ביחס לראשונה .בנוסף נתונה נקודה P B (כלומר מתוארת במערכת ד"ר ניר שוולב מבוא לרובוטיקה הקואורדינאטות .(Bמטרותינו תהיינה (א) לתאר את נקודה Pבקואורדינאטות של מערכת ( .Aב) למצוא אופרטור ,שיתאר את סיבוב מערכת Bביחס למערכת .A טרנספורמציית גוף קשיח Tהיא אופרטור ליניארי ,הקולט מיקום ואוריינטציה במערכת ניידת ,ופולט מיקום ואוריינטציה במערכת העולם. ווקטור במערכת ווקטור במערכת T הניידת העולם בהקשר הרובוטי אנו נתייחס כמובן לחוליה הנעה בהשפעת שינוי מצב המפרקים (בפרט חולית התפסנית) כאל זו הנושאת את המערכת הניידת ,בעוד שאל חוליית האדמה נתייחס כאל מערכת העולם .המשפט הבא והתרגיל שבעקבותיו מחדדים את מושג טרנספורמציית הגוף הקשיח: הגדרה :נתונים שני מרחבים וקטורים תלת ממדיים T : . , :היא טרנס' גוף קשיח ,אם ורק אם לכל בסיס אורתונורמאלי ימני ( )X1,X2,X3של , הווקטורים (-T)3 ( T)X2(-T)3( ,T)X1ו T)X3(-T)3(-מהווים גם הם בסיס אורתונורמאלי ימני ל. - תרגיל :5.4היעזר באיור והוכח את המשפט. כלומר הראה ש )6( :מרחקים נשמרים )9( ,אין שיקופים. רמז :כי הדרישה לימניות הכרחית על מנת להימנע מטרנספורמציית שיקוף (כלומר שהאובייקט העובר טרנספורמציה ישתקף כבמראה) שתי המערכות ,אם כן ,צריכות להיות ימניות (או שמאליות) ביחד. כאמור ,טרנספורמציה כללית מורכבת מטרנספורמציית הזזה וטרנספורמציית סיבוב. נתחיל ,אם כן ,בתיאור מערכת Bשהסתובבה ביחס למערכת Aונתמקד במקרה הדו ממדי (ההרחבה למקרה הכללי טריוויאלית) .תיאור מערכת הקואורדינטות המסובבת (כלומר תאור וקטורי הבסיס של מערכת זו) באמצעות מערכת הקואורדינאטות הנייחת ,נתון ע"י: X Y YB A B YA YB כאשר הסימון XB A A X X X B A B , YA X B A מייצג את הווקטור X Bמבוטא ברכיבי מערכת קואורדינאטות .Aשימו לב שהטלנו סיבוב מערכת צירים במישור 27 מבוא לרובוטיקה 28 ד"ר ניר שוולב (באמצעות הכפלה סקאלרית) את שני ווקטורי הבסיס של מערכת Bעל ווקטורי הבסיס של מערכת .A בכדי לתאר את האוריינטציה של המערכת המסובבת נקבץ את הווקטורים A שקיבלנו לכדי מטריצה באופן הבאY B : A A B R X Bכאשר הסימון AB Rמתייחס למטריצת הטרנספורמציה המתארת את מערכת Bבמערכת קואורדינאטות .Aהסימון חיוני, ונחיצותו תובהר בהמשך הפרק. ובמקרה התלת ממדי: )(2.1 X A ZB YA Z B Z A Z B X A YB YA YB Z A YB X X A B Z B YA X B ZA X B A YB A R A X B A B תרגיל :5.5מצא את הטרנספורמציה המתארת את סיבוב מערכת Bלעומת ( .Aראה איור קודם). תשובה :כאמור ,אנו מעוניינים לתאר את קבוצת וקטורי הבסיס של Bבמערכת .Aנשתמש בנוסחה ל AB R -שהתקבלה ,ובידיעה ש X A X B X A X B cos ונקבל: cosθ - sinθ 0 R sinθ cosθ 0 0 0 1 A B מפני ש ZA-שימש כציר סיבוב ציר Zבשתי המערכות זהה ,ולכן . Z A Z B cos0 1 בשונה מהגישה הקודמת ,בה תיארנו מערכת מסובבת בקואורדינאטות של מערכת נייחת ,אנו מעוניינים כעת לוודא כי תיאור סיבוב אקטיבי של הגוף (מערכת) יהא זהה לתיאורנו הקודם. כלומר ,אנו תרים אחרי אופרטור סיבוב (הכתוב כמטריצה) Rהמסובב את מערכת הצירים 1 0 cos sin בזווית סביב ציר Zובכך מקיים . Reˆ1 sin ; Reˆ 2 cos :כאן e1 0 , e 2 1 1 1 0 0 מתארים את ווקטורי הבסיס של הגוף .כלומר ,אם נדמיין גוף צמוד למערכת Aעם מערכת קואורדינאטות צמודה לו ,אנו מעוניינים לסובב את הגוף ,או במילים אחרות ,אנו מעוניינים ד"ר ניר שוולב מבוא לרובוטיקה * * * בסיבוב וקטורי הבסיס של המערכת בה הוא מתואר .בקיצור ,נחפש מטריצה * * * * * * 3x 3 שתסובב את ווקטורי הבסיס X A , YAלווקטורי הבסיס . X B , YBנתמקד בשלשת וקטורי 0 הבסיס :ציר Zהוא ציר הסיבוב ,על כן אינו משתנה ולכן המקרה הואReˆ 3 0 : 1 * * 0 ומכאן . R * * 0 * * 1 ציר X מקיים ע"פ האיור 1 cos R 0 sin 0 0 ולכן 0 - sinθ cosθ * 0 R sinθ * 0 באותו אופן על סיבוב וקטור Yלקיים R 1 cosθ ולכן 0 0 0 * 1 מטריצת הסיבוב בזווית θסביב ציר Zהיא: cosθ - sinθ 0 R sinθ cosθ 0 0 0 1 כצפוי סיבוב מערכת באופן אקטיבי בזווית ,θזהה לייצוג מערכת הקואורדינאטות המסובבת במערכת הנייחת. T -1 תרגיל :5.6הוכח כי עבור מטריצת סיבוב כלשהי מתקיים . R R תשובה :כפי שניתן היה להסיק זה מכבר ,מטריצת סיבוב מעתיקה מערכת קואורדינאטות אורתונורמאלית ימנית למערכת קואורדינאטות אורתונורמאלית ימנית אחרת .ולכן . det R 1נוכיח זאת: Rממפה בסיס אורתונורמאלי e1 , e 2 , e 3לבסיס אורתונורמאלי מסובב ,Re1, Re2, Re3לכן: T T T T Re i Re j ei R Rei ei R R eiכלומר האיבר בשורה ה-i-ית ועמודה -jית הוא: 1 i j 0 i j Re i Re j כלומר , R T R Iואכן ,מבט בביטוי שלמטה מאשש את טענתנו זו . 29 31 ד"ר ניר שוולב מבוא לרובוטיקה טענהdet R 1 : הוכחה: det R 2 det R det R det R det R T det R det R -1 det R R -1 det I 1 ומכאן האפשרויות הן . det R 1 אם מאפשרים det R 1אנחנו ,למעשה, מאפשרים שיקוף( .מדוע? )9 נשים לב כעת כי סיבוב אקטיבי של מערכת ניידת (אדומה) בזווית φכמוה כסיבוב המערכת הנייחת (שחורה) בזווית הפוכה ( .)- φלכן שרשור שתי מטריצות כדוגמת הביטוי שלמטה, יתפרש כסיבוב אקטיבי של מערכת (שחורה לזו האדומה) בזווית נתונה וסיבוב המערכת (שחורה או אדומה) חזרה למנח המקורי. cosφ sinφ 0 cosφ - sinφ 0 R R I sinφ cosφ 0 sinφ cosφ 0 I 0 0 1 0 0 1 T לחילופין ,כאמור ,ניתן לחשוב על סיבוב המערכת הנייחת (שחורה) בזווית הפוכה ( )- φ כביטוי קואורדינאטות המערכת הנייחת (שחורה) בקואורדינאטות של זו הניידת (האדומה). ולכן ניתן לחשוב על אותו ביטוי משורשר כביטוי המערכת הנייחת בקואורדינאטות של זו הניידת ומייד לאחר מכן סיבוב אקטיבי של המערכת הנייחת. עד כה התמקדנו בחישוב מטריצת הסיבוב כאשר ציר הסיבוב נקבע להיות ציר .Zהמטריצות הבאות מתארות טרנספורמציות סיבוב סביב צירי X,Y,Zבהתאמה כאשר האותיות C,S מהוות קיצור לפונקציות , Cos ,Sinלבסוף ) R W (יסמן סיבוב בזווית סביב ציר :W sφ cφ - sφ 0 0 ; R z φ sφ cφ 0 0 cφ 0 1 0 cφ 0 - sφ ; R y φ 0 1 - sφ 0 sφ cφ 0 cφ 1 R x φ 0 0 נבהיר כעת את הסימון שליווה את מטריצות הסיבוב .דיון במערכות רובוטיות מחייב דיון במספר רב של מערכות צירים .הסימון נועד לצמצם ככל שניתן את הצורך במעקב אחר המערכות האלו .הרעיון הוא "לצמצם מערכות צירים" באופן המודגם בביטוי הבא: )(2.2 P ABR BP A 9רמז :חשבו על השטח ששלושת ווקטורי הבסיס חוסמים .מה קורה לשטח תחת שיקוף ,תחת סיבוב ? ד"ר ניר שוולב מבוא לרובוטיקה ווקטור B Pשנתון במערכת צירים ,Bעבר טרנספורמציה R A B ומבוטא כעת A Pבמערכת קואורדינאטות " – Aצמצמנו" את ה " "Bבמשוואה ונשארנו עם " "Aלאמור שהווקטור שהתקבל נתון במערכת קואורדינאטות .A טענה :מטריצת רוטציה משמרת מכפלה סקאלרית. ˆxR הוכחהˆ y x T R T R y XT R T R y XT R -1 R y x T y x y : R בדומה לנוסחה ( )9.9ניתן לשרשר מספר שרירותי של טרנספורמציות ווקטורים: P AB RCB RC P כאן "הצטמצמו" ה" "Bוה "C"-ונותרנו שוב עם "."A A הערה :הביטוי המשורשר AB RCB RDC Rמתאר טרנספורמציה R הטרנספורמציה R A B C D ולאחריה CB Rולבסוף ולכן . AD R AB R CB R DC R חסרה לנו ,כעת ,טרנסלאציה (העתקה) ,בכדי לתאר טרנספורמציית גוף קשיח במלואה. הגדרה :העתקה Tdהיא טרנספורמציה ליניארית ,המקיימת . Td x x dכלומר ,זוהי d הזזה של וקטור xב. - תרגיל :5.1הוכח כי ההעתקה Tdהיא טרנספורמציית גוף קשיח( .ראה משפט בתחילת עמ' .)99 תשובה :כפי שהוכחנו בתרגיל ,9.6עבור טרנספורמציית גוף קשיח, אורתונורמאלי. בסיס Tx i Td x i x i dוכן ומכאן ע"פ הגדרה ידוע 1 Tx i - T03i xהינו כי T0 Td 0 d Tx i - T0i1 x i i1וברור כי זהו 3 3 בסיס כאמור . תאור מלא של טרנספורמציה יהא אם כן P AB R B P A PB orginal A העתקה (הוספת הווקטור כלומר אנו מסובבים את מערכת הצירים ורק לאחר מכן מבצעים PB orginal A המייצג את מיקום ראשית הצירים של המערכת הניידת ,ראה איור) .הרעיון הוא לבנות טרנספורמציה יחידה , ABTשתתאר רוטציה 31 32 ד"ר ניר שוולב מבוא לרובוטיקה וטרנסלאציה יחדיו ולא כשילוב של הכפלה במטריצה וחיבור ווקטורי .באופן זה נרצה לשרשר טרנספורמציות כאלו עם רעיון "צמצום מערכות צירים" זהה לזה שדנו בו עבור רוטציות: הגדרה :מטריצה הומוגנית ) (Homogenousהיא d 31 והעתקה) במרחב באופן הבא: 111 44 כזו המייצגת טרנספורמציה (סיבוב R 33 013 , T כאשר R 33מטריצת סיבובd 31 , d 21 וקטור הטרנסלאציה .עבור המצב המישורי הטרנספורמציה תהא : 111 33 R . T 22 012 שימו לב כי הטרנספורמציה במרחב האוקלידי התלת ממדי הינה מטריצה ,4x4בעוד שזו עבור המרחב האוקלידי ה 9-ממדי הינה מטריצה .3x3כלומר "עלינו" ממד בכדי לייצג גם את הטרנסלאציה .מטריצות מעין אלה נקראות הומוגניות ,על שם שיטת ייצוג הקואורדינאטות בהן נעשה שימוש .ווקטור מיקום x 3x1הומוגני הינו מהצורה: x 3x1 1 כלומר בכדי לייצג ווקטור שרירותי (בממד 9או )0נוסיף ממד נוסף לייצוגו ,ושיעורי הממד הזה יהיו יחידה .הטרנספורמציה מתבצעת ,אם כן ,באופן הבא: R d x Rˆ x d 0 1 1 1 נדגים כיצד מתקבל שרשור טרנספורמציות באמצעות הכפלה של מטריצות הומוגניות. שרשור של טרנספורמציות הוא: T2 T1 x T2 R1 x d1 R 2 R1 x d1 d 0 R 2 R1 x R 2d1 d 2 d2 נוודא שהרכבת הטרספורמאציות 1 d 2 Rˆ 1 x d1 1 1 R d1 R 2 , 1זהה לזו שמצאנו זה מכבר: 0 1 0 d2 x R 2 1 1 0 R d R T2 T1 x T2 T1 x 1 1 2 0 1 0 Rˆ 2 Rˆ 1 x Rˆ 2 d1 d 2 , 1 ד"ר ניר שוולב מבוא לרובוטיקה תרגיל :5.2בהינתן מטריצת סיבוב שרירותית Rכיצד ניתן למצוא את ציר הסיבוב אותה היא מייצגת ? תשובה :כזכור ,ווקטור עצמי vשל מטריצה כלשהי ומטריצת סיבוב Rבפרט ,מקיים Rv vכאשר הוא הערך העצמי המתאים ל . vמנגד ,על ווקטור vהמייצג את כיוון ציר סיבוב המטריצה Rלקיים ( Rv vמדוע?) .ולכן נהיר הוא כי ווקטור עצמי של Rעם ערך עצמי שגודלו 6יהא הווקטור המבוקש . תרגיל :5.6מצא מהו ציר הסיבוב של מטריצת הסיבוב: 0.3631 0.3036 0.8809 R - 0.1071 0.9256 0.3631 0.9256 0.2262 0.3036 הווקטור העצמי של Rהוא 1 1 v 2וזהו ציר הסיבוב המבוקש .נשים לב שהכפלת 3 2 הווקטור במטריצת הסיבוב אינה משנה את הווקטור . לקורא המעמיק מומלץ לעיין במקורות [ ]60ו [.]69 תרגילים נוספים 9.3הוכח שהדטרמיננטה של מטריצת סיבוב שווה ל.+6- רמז :השתמשו בעובדה ש . X Y Z ( 9.1א) הראו שטרנספורמציות סיבוב בזווית סופית אינן חילופיות כלומר R 1 R 2אינו שווה בהכרח ל( . R 2 R 1 -ב) הוכיחו שטרנספורמציות סיבוב בזווית אינפיניטסימאלית כן חילופיות. 9.6נתון ווקטור המהירות . B v 1,2,3Tחשב את v A בהינתן הטרנספורמציה .נמק את תשובתך. 0 0 0 1 0 0.866 0.5 10 A BT 0 0.5 0.866 20 0 0 0 1 33 34 מבוא לרובוטיקה T תשובהv 1, 0.232, 3.598 : ד"ר ניר שוולב A 9.63מצא ביטוי כללי לטרנספורמציית הסיבוב Tk בזווית סביב ישר kהעובר דרך נקודה ( bואינו עובר בהכרח בראשית הצירים). R b I 33 R k . Tk k תשובה: 1 0 4x 4 9.66באיור מתוארות שתי אוריינטציות של בלוק עץ .מצא טרנספורמציה אחת המתארת את המעבר ביניהן ע"י ציון זווית הסיבוב הרצויה ווקטור סביבו תתבצע הרוטציה. 2 1 וזווית הסיבוב היא תשובה :הווקטור המציין את ציר הסיבוב הוא 1,1,1T 3 3 . a 11 0 1 1 a 21 0 0 5 9.69מצא את האיברים החסרים בטרנספורמציה ההומוגנית: T a 31 1 0 3 0 0 0 1 תשובהa 11 a 31 0, a 21 1 : 9.60חשב את הטרנספורמציה ההומוגנית המייצגת סיבוב ב 633-סביב ציר , Zסיבוב סביב ציר Yב +953 -וסיבוב סביב Xב -933 -ולאחר מכן הזזה בשיעורים . 1,2,3T מהם שיעוריה החדשים של נקודה שבמקור נכתבה כ- ? 1,1,1T 0.707 0.707 1 0 0.612 0.612 2 0.5 תשובה: T 0.866 0.353 0.353 3 0 0 0 1 9.69נתונה יחידת הקצה של רובוט Motomanשבתמונה ,אליה מוצמדת מערכת צירים x A , y A , z A Tהמתלכדת עם מערכת העולם .חשב את הטרנספורמציה המעבירה את ד"ר ניר שוולב מבוא לרובוטיקה ראשית מערכת צירים זו לנקודה a, b, cTכך שציר =( z Aכיוון התפסנית) יצביע לכיוון הראשית (כבאיור). a b תשובה: c 1 c 2 c1 c 2 c1 s2 c2 c1 0 0 0 c1 c 2 c c T 1 2 s 1 0 35 36 ד"ר ניר שוולב מבוא לרובוטיקה .0שרשור טרנספורמציות די בהצצה באיור שבעמוד 99על מנת להבין כי בכדי לתאר את המיקום והאוריינטציה של תפסנית הרובוט יש לשרשר טרנספורמציות )(To Concatenate (להכפיל מטריצות המייצגות את הטרנספורמציות) .בפרק זה נעמוד על עניין השרשור לעומקו. כפל מטריצות סיבוב אינו חילופי (דרך אחרת לומר זאת היא לציין שהחבורה so 3אינה חילופית ,לקורא המעמיק מומלץ לעיין ב .)]60[ -כלומר ,שרשור מטריצות (המייצגות טרנספורמציות סיבוב) בסדר הפוך לא יניב אותה טרנספורמציית סיבוב .נדגים את אי החלופיות של :R ד"ר ניר שוולב מבוא לרובוטיקה שים לב שעל פי האיור שלעיל . R y 90R x 90 R X 90R y 90 תרגיל :6.4מצא את T A B B C T, ואת T A C . תשובה :נתייחס למערכת Aכמערכת ייחוס .את טרנספורמציית הסיבוב שמערכת " Bעברה" ביחס למערכת , Aנכתוב באמצעות ווקטורי הבסיס של Bבמושגי מערכת ,Aלדוגמא הווקטור X B A 1 הוא X B 0 0 A וזהו ווקטור העמודה הראשון במטריצה R A B .באופן דומה נבנה גם את הווקטורים . A YB , A ZBווקטור העמודה הרביעי מציין ,כאמור ,את 3 A PB התזוזה PBORGשל ראשית מערכת Bביחס למערכת הייחוס 0 :A OR G 0 A (שימו לב, הווקטור מבוטא ברכיבי מערכת קואורדינאטות )Aומכאן: 0 3 0 0 1 0 0 1 1 0 0 1 A BT 0 0 0 0 0 0 באופן דומה נקבל: 2 1 0.5 0.866 0 0 0.866 0.5 B CT 1 0 0 0 0 0 ומשני הטרנספורמציות שקיבלנו: 0 0.5 0.866 3 0 0.866 0.5 0 A B B T CT 1 0 0 2 0 0 0 1 ומהאיור שלעיל ניתן לאמת את התוצאה . 37 38 ד"ר ניר שוולב מבוא לרובוטיקה נעמוד כעת על שתי דרכים לשרשר טרנספורמציות סיבוב של גוף (פורמאלית אנו מעוניינים בסיבוב מערכת צירים צמודת גוף). (א) סיבוב סביב X,Y,Zקבועים במערכת העולם. (ב) סיבוב סביב ' , X',Y',Zכלומר ,סביב צירים הצמודים לגוף המסתובב (במערכת ניידת). (ג) סיבוב משולב סביב צירים ניידים ונייחים. (א) נתונה מערכת העולם X,Y,Zוגוף הנתון במערכת זו .נסובב את הגוף סביב Xבזווית γ סביב Yעם זווית βוסביב Zבזווית αכמודגם באיור הבא: sβ cα - sα 0 0 ; R z α sα cα 0 0 cβ 0 1 0 cβ 0 - sγ ; R y β 0 1 - sβ 0 sγ cγ 0 cγ 1 R x γ 0 0 שרשור טרנספורמציות :גלגול ( )Rollסביב ציר Xנייח ,עלרוד ( )Pitchסביב ציר Yנייח ולבסוף ִסבסוב ) ,)Yawסביב Zנייח פורמאלית ,מה שעשינו כאן הוא סיבוב B'A'' Rעם המבנה: cα cβ cα sβ sγ sα cγ cα sβ cγ sα sγ R z α R y β R x γ sα cβ sα sβ sγ cα cγ sα sβ cγ cα sγ - sβ cβ sγ cβ cγ ד"ר ניר שוולב מבוא לרובוטיקה כלל :שרשור טרנספורמציה Tעם סיבוב Rסביב ציר קבוע במערכת העולם יתואר באמצעות הכפלת המטריצה המייצגת את הטרנספורמציה הקודמת Tבמטריצת הסיבוב Rמשמאל .R T (ב) נסובב כעת מערכת צמודת גוף סביב מערכת צירים ניידת .ייצוג כזה נקרא מערכת זווית אוילר ( .)Eulerנסובב סביב ציר Zבזווית ,αלאחר-מכן נסובב סביב ציר '( Yהמסובב) בזווית βולבסוף ,סביב ציר "( Xהמסובב פעמיים) בזווית .γ R x '' R z α R z' α R Y'' β כאמור ,במצב זה הסיבוב נעשה סביב צירי המערכת הניידת ולא לפי צירי מערכת העולם .ניתן לרשום את מטריצת הסיבוב Rבצורה הבאה( :הצורה הרגילה): 'B "B "R B'A R B "'R B R R Z' α R Y'' β R X'' γ A "'B כלל :שרשור טרנספורמציה Tעם סיבוב Rסביב ציר של מערכת ניידת יתואר באמצעות הכפלת המטריצה המייצגת את הטרנספורמציה הקודמת Tבמטריצת הסיבוב Rמימין .TR עבור האיור שלעיל מטריצת הסיבוב היא אם כן: cα cβ cα sβ sγ sα cγ cα sβ cγ sα sγ sα cβ sα sβ sγ cα cγ sα sβ cγ cα sγ - sβ cβ sγ cβ cγ נשים לב ,כי קיבלנו אותה מטריצה כמו R z R y R x כלומר אותה מטריצה המייצגת את שרשור טרנספורמציות סיבוב סביב צירי מערכת נייחת ! נניח כעת ,שנתונה 39 41 מבוא לרובוטיקה מטריצת הסיבוב ד"ר ניר שוולב r13 r23 r33 r12 r22 r32 r11 R r21ואנו מעוניינים ב – α,β,γזוויות הסיבוב סביב r 31 הצירים הנייחים Z,Y,Xבהתאמה .או לחילופין נתעניין ב – γ,β,αזוויות הסיבוב סביב הצירים הניידים ' X''',Y'',Zבהתאמה. נגדיר להלן פונקציה שתסייע לנו בפתרון הבעיה בפרט ובקורס ככלל: הפונקציה ) ,atan2(y,xהיא פונקציה דו-פרמטרית המחשבת את הפונקציה )tan-1(y/x אשר תמונתה היא [ ]-,כלומר הפונקציה מביאה בחשבון את סימני ( )x,yובאופן זה קובעת באיזה רביע נמצאת הזווית .שים לב שפונקצית tanההופכית אינה עושה זאת. ) atan2(y,xהינה פונקציה סטנדרטית במנועים מתמטיים כמו , Mathematica Matlab, Mapleוכיו"ב. דוגמא atan2(2,2)=450, atan2(-2,2)=1350 :בעוד ש tan-1(2/2)= tan-1(-2/-2)= 450 כיוון ש R Z'Y"X"' α, β, γ R XYZ γ, β, α הנוסחאות הבאות עבור γ,β,αיהיו נכונות לשני מקרים: r322 r312 β atan2 - r31 , r r α atan2 21 , 11 cβ cβ r r γ atan2 32 , 33 cβ cβ ד"ר ניר שוולב מבוא לרובוטיקה עבור β = -900 , +900מתקיים cos(β)=0ולכן נוסיף ונגדיר: α 0 β 90 γ atan2 r12 , r22 α 0 β 90 γ atan2 r12 , r22 תרגיל :6.5תהי OXYZמערכת עולם ו OUVW -מערכת צמודת גוף (מערכת ניידת)( .א) מהי מטריצת הרוטציה עבור סיבוב בזווית Øסביב OXולאחריה ,סיבוב בזווית Ψסביב OWולאחריה ,סיבוב θסביב ( .OYב) מצא רצף סיבובים אחר ,שנותן את אותה מטריצת רוטציה. פתרון :שימו לב כי למעשה אנו מעוניינים במטריצת הסיבוב .RX'ZYנסמןRW(Ψ), RX(Ø) : ) .RY(θנזכור כי הכללים שדנו בהם לעיל מחייבים )6( :מטריצת רוטציה סביב ציר במערכת העולם ,מכפילים משמאל )9( .מטריצת רוטציה סביב ציר במערכת נעה ,מכפילים מימין. נשתמש במטריצת הרוטציה סביב ציר מסוים שאנו יודעים ונבצע את ההכפלה. cψ - sψ 0 sψ cφ 0 0 0 1 ומכאן נקבל: 0 1 0 cφ 0 sφ R X φ 0 cφ - sφ , R Y φ 0 1 0 , R W ψ 0 sφ cφ - sφ 0 cφ 41 42 ד"ר ניר שוולב מבוא לרובוטיקה 0 sφ 1 0 0 cφ 0 cψ - sψ 0 1 0 0 cφ - sφ sψ cφ 0 0 sφ cφ 0 0 1 - sψ 0 cφ 0 0 1 cφ R Y φ R X φ R W ψ 0 - sφ cφ sφφs cφφs cψ 0 cφ - sφ sψ - sφ sφφc cφφc 0 cφφc sφφsφs - cθ sψ sθ sφ cψ cφφs cφ cφ cψ sφ - sθθc cθ sφ sψ sθ sψ cθ sφ cψ cθ cφ ב .יש למצוא Rשקול ,שיתקבל מסיבוב המערכת סביב צירים אחרים .נביט בביטוי שקיבלנו בסעיף הקודם R Y φ R X φ R W ψ :ונייחס את כל הסיבובים למערכת העולם .כלומר נסובב את המערכת סביב ציר ( Zשהוא בסעיף הקודם )Wבזווית , ψלאחר מכן סביב ציר Xבזווית ולבסוף סביב Yבזווית . φע"פ הכללים שהזכרנו זה מכבר הסיבוב יהא R Y φ R X φ R Z ψכדרוש. תרגיל :6.6נוסחת רודריגז ) )Rodriguezתהי Aמערכת צירים קבועה; ותהי Bמערכת צירים מסובבת בזווית aסביב ציר המקביל לווקטור היחידה T=(t1, t2, t3)Tהקבוע ב.A- R T א) הוכח שR - θ הינה מטריצה אנטי סימטרית עבור כל מטריצת סיבוב . R ב) הוכח כי Λ 2 TT T T Iכאשר: 2 t2 - t1 0 - t3 0 t1 0 t3 - t 2 ג) חשב את nוהוכח כי: )(3.1 e Λθ I Λsinθ (1 - cos ) Λ 2 תשובה( :א) ידוע ש . RR T I -נגזור את הביטוי לפי θונקבל: ד"ר ניר שוולב מבוא לרובוטיקה R T R T R R 0 θ θ T R T R T R T R -R - R θ θ θ כאן ,גזירת מטריצה מתבצעת באמצעות גזירה נפרדת של כל איבר במטריצה .ואכן תנאי אנטי הסימטריות S=-STמתקיים( .ב) נתון כי . T t12 t 2 2 t 3 2 1נחשב 2 t1t 3 t2t3 2 t 3 t 2 t 3 2 2 - t3 t2 - t3 t2 0 - t1 t 2 t1 t1 0 t 3 t 1 t1t 2 2 t2 2 t 1 t1t 3 t2t3 2 t1t 2 2 2 - t 3 t1 t 3t 2 - t2 ובסה"כ מתקיים 2 TTT T Iכמבוקש. 2 t1 t1 T TT t 2 t 1 t 2 t 3 t 2 t 1 t 3 t 3 t1 2 t2 0 - t1 t 3 0 t 2 - t3 0 t1 0 2 t3 - t 2 (ג) עפ"י הסעיף הקודם ,נחשב את R 3 ע"פ . Λ 3 Λ 2 Λ TTT Λ T Λנשים לב ש :אנטי סימטרית ו TTT -סימטרית, 2 ולכן TT 0ומכאן . 3 - T - ולכן 6 2 , 5 , 4 -2וכן הלאה. T נחשב את 2 eעפ"י טור טיילור ונקבל: 2 2 4 2 6 3 5 e I !3 !5 !4 !6 ! 2 2 I sin 1 - cos מתרגיל 66ידוע אמנם ש . e I sinθ 2 1 - cosθכעת נעמוד על פשר התוצאה. באיור שלמטה מודגמת נקודה Pשעוברת טרנספורמציית סיבוב סביב ווקטור Tבזווית . טענתנו היא כי המטריצה ,Rהמתארת את טרנספורמציית הסיבוב ,נתונה באמצעות נוסחת רודריגז R e I sinθ 2 1 - cosθכאשר היא המטריצה המוגדרת בתרגיל .66 43 44 ד"ר ניר שוולב מבוא לרובוטיקה ווקטור ,Pהמתאר את מיקום הנקודה ,מורכב משני רכיבים :הרכיב המקביל ל ( Tכלומר זה שאינו משתנה תחת הסיבוב) ; והרכיב המאונך ל ( Tכלומר החלק של Pהעובר טרנספורמציה) .נסמן את שני הרכיבים כ P , P || -בהתאמה .אם נרצה כעת לסובב את הרכיב המאונך P סביב ,Tהסיבוב יבוטא כ T P sinθ P cosθראה איור .בכדי לקבל את הווקטור המסובב בכללותו נסכם ,אפוא, את החלק המקביל || Pונקבל . RP P || T P sinθ P cosθנשים לב ש P || TT P ו P P TT P -וכן ש- . T P T (P P || ) T P נציב כעת חזרה לנוסחה לקבל: RP TT P T Psinθ P TT Pcosθ בכדי להשלים את ההוכחה יש להוכיח ראשית כי T v vלכל ווקטור v ולכן נוכל לסמן ; T Λושנית ,ע"פ תרגיל 69ידוע כי . TTT Λ 2 Iעתה נוכל לבודד את מטריצת הסיבוב סביב ווקטור Tבזווית : R I T sinθ 1 cosθTTT eΛθ )(3.2 לשם נוחות מובא להלן הביטוי המפורש למטריצת הסיבוב סביב ווקטור Tבזווית : cθ t12 1 cθ t1t 2 1 cθ t 3sθ t1t 3 1 cθ t 2sθ 2 R T θ t1t 2 1 cθ t 3sθ cθ t 2 1 cθ t 2 t 3 1 cθ t1sθ 2 t1t 3 1 cθ t 2sθ t 2 t 3 1 cθ t1sθ cθ t 3 1 cθ )(3.3 R T תרגיל :6.1חשב אתR - מפורשות. θ תשובה: לכן: T T R T e Λθ I Λsinθ Λ 2 1 - cosθ Λcosθ Λ 2 sinθ θ θ θ מבוא לרובוטיקה T ד"ר ניר שוולב I Λsinθ Λ 1 - cosθ Λ 2 T R T R Λcosθ Λ 2 sinθ θ נתונה זווית סיבוב וְ ווקטור .T=(t1, t2, t3)Tנמצא כעת את מטריצת הסיבוב המתאימה באופן אינטואיטיבי: נסובב את מערכת הצירים באופן שהווקטור Tיתלכד עם ציר .Z נסובב את מערכת הצירים סביב Zבזווית . θ נחזיר את המצב לקדמותו ,כלומר נסובב את הווקטור Tע"י טרנספורמציה הפוכה לזו הראשונה. הסיבובים כולם יעשו במערכת XYZקבועה: נסובב את מערכת הצירים באמצעות R X α סביב ציר Xבזווית αבאופן ש T -יגיע למישור .ZX נסובב את מערכת הצירים באמצעות R Y β סביב ציר Yבזווית βבאופן שT - יגיע לציר .Z נסובב את מערכת הצירים באמצעות R Z θ סביב ציר Zבזווית . θ נסובב את מערכת הצירים חזרה למקומה באמצעות R Y β נסובב את מערכת הצירים חזרה למקומה באמצעות R X α 45 ד"ר ניר שוולב מבוא לרובוטיקה סה"כ R T θ R X - αR Y βR Z θR Y - βR X α :ובמפורש 0 cβ 0 sβ cφ - sφ 0 cβ 0 - sβ 1 0 0 1 0 R T θ 0 cα sα 0 1 0 sφ cφ 0 0 1 0 0 cα sα 0 - sα cα - sβ 0 cβ 0 0 1 sβ 0 cβ 0 sα cα cθ t 1 2 1 cθ t 1 t 2 1 cθ t 3sθ t 1 t 3 1 cθ t 2 sθ 2 t 1 t 2 1 cθ t 3 sθ cθ t 2 1 cθ t 2 t 3 1 cθ t 1sθ 2 t 1 t 3 1 cθ t 2 sθ t 2 t 3 1 cθ t 1sθ cθ t 3 1 cθ . התקבלה תוצאה זהה לזו שקיבלנו לעיל,כצפוי ציר הסיבוב של הטרנספורמציה הוא,בפרק הקודם מצאנו כי בהינתן מטריצת סיבוב משיש בידנו את המבנה המדויק של מטריצת."6" הווקטור העצמי המתאים לערך העצמי :הסיבוב נוכל לחלץ גם את ערך זווית הסיבוב וזוויתT מצא את ציר הסיבוב. R ri, j 3 i, j1 נתונה מטריצת סיבוב כללית:6.2 תרגיל .θ הסיבוב : נשים לב ש:תשובה trace R cθ t 1 1 cθ cθ t 2 1 cθ cθ t 3 1 cθ 2 2 2 t 12 t 22 t 32 1 cθ 3cθ 1 - cosθ 3cθ 1 2cθ )? (כיצדs בכדי למצוא את הזווית המדויקת יש למצוא את. trace R 1 cθ 2 ולכן : נביט כעת בביטוי הבא.atan2 ולהשתמש בפונקציה r32 - r23 t 2 t 3 1 cθ t 1sθ - t 2 t 3 1 cθ t 1sθ 2t 1 sθ r13 - r31 2t 2 sθ r21 - r12 2t 3sθ כלומר 46 ד"ר ניר שוולב מבוא לרובוטיקה 47 r32 r23 r13 r31 2sθ T r r 21 12 נשים לב שאם נחשב את הזווית ע"י ) (0 θ 180 c trace R 1 θ cos 1 נימנע מטעות בקביעת 2 z3 x3 b y3 z5 d רביע הזווית גם ללא חישוב מפורש של sושימוש ב ,atan2כיוון שכיוון הציר אף הוא נקבע ע"פ sinהזווית .ולכן כל x5 z4 e z2 שנותר הוא: y5 y4 x4 a x2 r32 r23 1 T r13 r31 2sθ r21 r12 y2 z1 x1 z0 y1 y0 תרגילים נוספים 0.9מצאו את הטרנספורמציות 0 A1ו. 1 A 2 - תשובה: 0 0 b 1 0 0 1 0 0 0 1 e c 0 0 1 a d 0 1 A1 A2 0 1 0 a d 1 0 0 0 0 0 0 0 0 0 1 , 1 0.3על פי האיור בתרגיל 0.6מצא את . CA T 0 1 2 0 0.5 0.866 0 1.5 C תשובה: AT 0.866 0.5 0 2.59 0 0 0 1 3.8כתוב תוכנית מחשב אשר מקבלת ווקטור מהמשתמש ומסובבת באופן גרפי קובייה סביבו. x0 48 ד"ר ניר שוולב מבוא לרובוטיקה 3.9כתוב תוכנית מחשב אשר מקבלת שתי אוריינטציות ומסובבת קובייה כך שבתחילת התנועה תהיה זו מכוונת לכיוון האוריינטציה הראשונה ובסוף התנועה תהיה הקובייה מכוונת בכיוון השנייה. תוכנית עזר :בכדי להקל על כתיבת התוכנית היעזרו בתוכנית ה MatLab-הבאה המסובבת קובייה ומציגה את הסיבוב באופן גרפי. ;j=0 )for theta=0:0.1:(2*pi ;j=j+1 מט' סיבוב R=[[cos(theta) -sin(theta) 0];[sin(theta) cos(theta) 0];[0 0 1]]; % for i=1:8 הווקטור שיש לסובב V=[x(i) y(i) z(i)]'; % סיבוב הווקטור U(i,:)=(R*V)'; % end הצגה גרפית של הקובייה % plot3([U(1:4,1) ;U(1,1)],[U(1:4,2) ;U(1,2)],[U(1:4,3); U(1,3)]); hold on ;)])plot3([U(5:8,1) ;U(5,1)],[U(5:8,2); U(5,2)],[U(5:8,3) ;U(5,3 ;)])plot3([U(1,1); U(5,1)],[U(1,2) ;U(5,2)],[U(1,3) ;U(5,3 ;)])plot3([U(2,1); U(6,1)],[U(2,2); U(6,2)],[U(2,3); U(6,3 ;)])plot3([U(3,1) ;U(7,1)],[U(3,2) ;U(7,2)],[U(3,3) ;U(7,3 ;)])plot3([U(4,1); U(8,1)],[U(4,2) ;U(8,2)],[U(4,3) ;U(8,3 hold off שומר על התמונה F(j) = getframe; % end מציג את הסרט movie(F,20) % 3.11 מצא את מטריצת הרוטציה עבור פעולת סיבוב מערכת צירים { }3ב ZYZבשיטת זוויות אוילר .מהי משמעות העמודה השלישית במטריצה ? c 3s 2 תשובהs 3 s 2 : c 2 c 3 c 2 s 1 s 3 c1 c 3 c 2 s 1 c 3 c1 s s s1 c 3 c 2 c1 s 3 s 1 R s 3 c 2 c1 c 3 s 1 s 2 c1 ד"ר ניר שוולב מבוא לרובוטיקה .9הקינמטיקה הישירה עבור רובוטים מישוריים כל כיווני כל המפרקים נשארים קבועים באופן יחסי האחד לשני (בכיוון ניצב למישור) .אולם ,לעיתים קרובות בוחר המתכנן גיאומטריות חיבור מורכבות יותר בהן הכיוון היחסי של המפרקים משתנה .מצב כזה דורש מעקב קפדני אחר מערכות הצירים .בפרק זה נלמד להצמיד מערכות צירים לרובוט ,ולתאר את תנועת התפסנית כפונקציה של מצב החוליות .אגב ,רוב הרובוטים הקיימים עושים שימוש במספר סוגי מפרקים ,בקורס נתמקד בעיקר בשניים השכיחים :הפריזמטי והסיבובי .בשלשת הפרקים הבאים ,נעסוק בקינמטיקה בלבד .נעיר כי האחרונה עוסקת רק בתנועות הגוף (מיקום מהירות תאוצה וכיו"ב) ,ללא התחשבות במשוואות של הכוחות היוצרים את התנועה. בעיית הקינמטיקה הישירה ) :(Forward Kinematicsמוגדרת כחישוב מיקום ואוריינטציה של התפסנית ביחס לבסיס ,כפונקציה של ערכי המפרקים של הרובוט .במילים אחרות: בהינתן ערכי המפרקים , q1...q nנשאל :איפה ממוקמת התפסנית ולאיזה כיוון היא מצביעה? הערה :משתנה המפרק לא יהא תמיד זווית .במידה והמפרק הוא מפרק פריזמטי לדוגמא, יהיה ערך q iנתון כמשתנה אורך .diלכן בספרות מכנים לעיתים את הפרמטרים q i כקואורדינאטות מוכללות ) (Generalized Coordinatesלהדגיש שההתייחסות המתמטית כאמור ,נ ִָּד ֵרׁש לתיאור מערכות הצירים באופן אחיד זהה עבור כל סוגי המפרקים. ועקבי.לשם כך נרצה ראשית לתאר באופן יחיד (ויעיל) מיקום יחסי בין שתי קרניים (שנחשוב על מקור הקרן כמיקום המפרק ,וכיוונה ככיוון המפרק) .בהינתן שני ישרים כלליים Q1 Q2 במרחב ,המיקום היחסי שלהם ייקבע חד-חד ערכית באמצעות: .1המרחק ביניהם :אורך הקטע aהמחבר בין שניהם וניצב לשניהם( ,כיוונו .)Q1xQ2 .2הזווית ביניהם ,הנמדדת על המישור המאונך ל .a - באיור הבא מודגמים שלושת המצבים בהם שני ישרים יכולים להתייחס אחד לשני: מקבילים :המרחק ביניהם שרירותי והזווית מתאפסת חיתוך :המרחק ביניהם מתאפס והזווית שרירותית הצטלבות :המרחק ביניהם אינו אפס ,והזווית (הביטו בָ צל) 49 51 מבוא לרובוטיקה ד"ר ניר שוולב לאור זאת ,בכדי לאפיין את המיקום והאוריינטציה היחסית בין שני צירים נצטרך לציין ארבעה גדלים ,נבהיר זאת עתה .בהינתן שני קוים ובהינתן מיקום ואוריינטציה של קו אחד (המייצג ציר ללא התחלה או סוף) ,אם נציין את המרחק ביניהם והזווית על המישור המאונך למרחק ,נשאר עם שתי דרגות חופש שהן קביעת מיקום ההתחלה של כל ציר. דנביט-והרטנברג הזדקקו כמובן ל 9-פרמטרים לתיאור .אך ,במגמה לפשט את הביטויים המתמטיים המתקבלים ,הם בחרו פרמטרים אחרים ובזאת טמונה תרומתם .נעמוד על אופן התיאור שהציעו צמד החוקרים בהמשך הפרק. טרם נתחיל בפתרון הבעיה נעמוד על ניסוחה הפורמאלי .נסכם ,כעת ,את הידוע לנו( :א) אנו דנים ברובוט טורי ,כלומר בשרשרת קינמטית פתוחה( .ב) הרובוט בעל n+1חוליות :חוליית בסיס בעלת אינדקס {,... ,}3חוליה אחרונה (החוליה האחרונה היא חוליית התפסנית ומסומנת ב } .){nלכל חוליה מודבקת מערכת צירים (קרטזית) ,כך שמערכת iדבוקה לחוליה ( .iג) הרובוט בעל nמפרקים המסומנים באות .qהמפרק q1מחבר בין הבסיס לחוליה .6 המפרק qiמחבר בין חוליה i-1לחוליה ה .i -כל מפרק הוא בעל דרגת חופש יחידה (סיבובי או ליניארי). מספור מערכות צירים ברובוט טורי n=4( RRRכולל התפסנית) מהאיור שלעיל נקל להבין כי הרעיון בשיטת המספור הזו הוא שהקואורדינאטות של נקודות בחולייה ה i -תשארנה קבועות ,ביחס למערכת הצירים ה i -בעת שהרובוט נע .במילים אחרות מערכת הצירים תוצב בצמוד לחולייה (ובקצה שלה) ,בכדי לתאר את ההשפעה של המפרק ,המסובב את אותה חולייה .שים לב! ,מערכת צירים 0קבועה באדמה (חוליה )0 ואיננה מסתובבת בהשפעת סיבוב המפרק הראשון .מערכת צירים 4היא זו שמסתובבת עם סיבוב המפרק הראשון. פורמאלית ,בעיית הקינמטיקה הישירה ,אם כן ,היא למצוא את מטריצת הטרנספורמציה ההומוגנית ממערכת התפסנית למערכת הבסיס כפונקציה של ערכי המפרקים : q n ,, q1 מבוא לרובוטיקה )(4.1 ד"ר ניר שוולב dn 1 44 R Tn q1...q n n 0 בפרקים הקודמים עסקנו בחישוב מטריצות הטרנספורמציה di 1 4 4 i 1 )(4.2 i 1 R i Ti qi 0 i 1 נשים לב כי מטריצה זו תלויה אך ורק ב .qi -פתרון בעיית הקינמטיקה הישירה מתקבל באמצעות שרשור הטרנספורמציות בין החוליות ,החל מ n-1An -וכלה ב:0A1 - )(4.3 Tn q1 q n T1 q1 1 T2 q 2 n 1Tn q n לשם בהירות ,המטריצה ( )9.6תאפשר לנו לבטא את המיקום והאוריינטציה של התפסנית } {nבקואורדינאטות העולם { }3באמצעות הכפלתה בווקטור המבוטא במערכת התפסנית. באופן זה עבור כל מצב מפרקים הווקטור יעבור טרנספורמציה אחרת וימוקם בהתאם במערכת העולם. הקושי בפתרון הבעיה הישירה טמון בבחירה נכונה של כיווני מערכות הצירים והפרמטרים, ולכן נתעניין בתיאור פשוט ככל האפשר של סדרת הטרנספורמציות הזו .החופש שלנו הוא בהצבת ראשיתות הצירים .התיאור המתמטי הפשוט ביותר יתקבל אם נציב את ראשית מערכת הצירים ה }i+6{ -קרוב ככל האפשר לראשית של מערכת הצירים ה – { .}iהצמדה כזו נוסחה ע"י דנביט והרטנברג ) .(10Denavit & Hartenbergבאיורים שלמטה נתמקד בחוליה אחת מתוך הרובוט ,כאשר שני ה"חורים" ממוקמים בצירי המפרקים המחברים את החוליה לרובוט. הצמדת מערכות צירים 10השם דנביט וה רטנברג מיוחס בספרות לשתי בניוֹת שונות :הבניה הדיסטאלית והבניה הפרוקסימאלית (ההבדלים בעיקר באופן האינדוקס) אנו נשתמש בגישה הדיסטאלית (לעיון בזו הפרוקסימאלית ראה [.)]1 51 52 מבוא לרובוטיקה ד"ר ניר שוולב כפי שמודגם באיור שלעיל (ראה גם איור קודם) ,כל מערכת קואורדינאטות מוצמדת לחוליה על פי הכללים הבאים: (א) את ציר Ziנצמיד לאורך מפרק .qi+1 (ב) הצבת ציר Xiתהיה לאורך הניצב המשותף ל Zi -ו Zi-1 -וכיוונו מ Zi-1 -ל. Zi - (ג) את ציר Yiנבחר כמשלים את , Zi ,- Xiשנקבעו זה מכבר ,למערכת אורתונורמאלית ימנית (כלומר כזו שמקיימת ˆˆ Xˆ Y , Zראה איור משמאל) (ד) ראשית מערכת { }iממוקמת בחיתוך בין הניצב המשותף למפרק qiו qi+1 -ובין מפרק .qi+1 (ה) מערכת צירים – {( }3מערכת הבסיס) ִת ָּקבַ ע שרירותית כש Z0 -יוצב לאורך ציר q1 (ראה איור) .אנו נקבע שהמערכת תמצא בבסיס הרובוט .על המערכת הזו אין דרישה לכיוון ,Xואנו נעדיף כמובן את הכיוון שיקל עלינו את החישובים .בד"כ יהיה זה בכיוון ציר Xשל מערכת הקוראורדינטות {.}6 (ו) מערכת צירים – }( {nמערכת התפסנית) ִת ָּקבַ ע שרירותית בחולייה האחרונה כש Xn - יוצב בניצב ל.Zn-1 - נעמוד על המקרים בהם הכלת כללים אלו אין בה כדי לקבוע את מערכות הצירים: (ז) שני מפרקים סמוכים נחתכים – כלומר ,אין ביניהם ניצב משותף ( ,)ai=3ולכן על פי כלל (ב) ניתן לבחור את ציר Xiלכיוון החיובי או השלילי (סימן הכיוון חסר חשיבות, כי סימן הווקטור מובא בחשבון בקביעת הפרמטרים המאפיינים את המיקום היחסי בין צירי המפרקים) .הצבת ציר Xiבמקרה זה תהיה בכיוון הנוח ביותר מבחינת קביעת הפרמטרים ,וראשית מערכת הצירים { }iתמוקם בנקודת המפגש. (ח) שני מפרקים סמוכים זהים ( - )Zi=Zi-1הציר Xiיִ בָּ חֵ ר להיות בניצב לשניהם והראשית תבָּ חר שרירותית. (ט) שני מפרקים סמוכים מקבילים ( - )Zi || Zi-1נבחר את הראשית כך שהמרחק בין הראשית Oiלראשית הקודמת לה Oi-6מינימאלי. עתה ,משהקצנו מערכות צירים ,נמצא את הגדלים המאפיינים את מיקומיהם היחסיים של המפרקים: ד"ר ניר שוולב מבוא לרובוטיקה הפרמטרים של דנביט והרטנברג ()DH הגודל i di ai הסבר הערות/מקרים הזווית בין Xi-1ל Xi -נמדדת סביב Zi-1 אם qiמפרק/סיבובי ,אז θ iהוא (נזכור שגם Xi-1וגם Xiמאונכים ל,Zi-1 - פרמטר שמשתנה .אם qiפריזמטי, כך בנינו אותם). אז θ iקבועה. המרחק הנמדד לאורך Zi-1בין Oi-1לOi - אם qiמפרק סיבובי ,אז diקבוע .אם (כלומר מטילים את Oiעל Zi-1ומודדים qiמפרק פריזמטי ,אז diהפרמטר את המרחק בינו לבין .)Oi-1 שמשתנה di .יכול להיות שלילי. המרחק בין Ziל Zi-1 -לאורך ציר ( Xiכך זהו המרחק הקצר ביותר בין שני המפרקים .במקרה של חיתוך בנינו את .)Xi ביניהם ai .ai=3תמיד חיובי ! i הזווית מ Zi-1-ל Zi -נמדדת סביב ציר Xi (שניהם ניצבים ל.)Xi - עבור רוב הרובוטים שכיחים o α i 0 ,90 ,180 ,270ונקבע כך o o o לשם פשטות החישוב. הערה חשובה :שימו לב כי מדידת הזוויות נעשית ע"פ כלל יד ימין לאורך הציר שציינו .ואם לא נציין אחרת ,זווית תימדד מהמשך חוליה אחת ועד לחוליה הבאה אחריה (ראה לדוגמא איור בפרק ,5שאלה .)5.9 משמצאנו את הפרמטרים ,ננסח את טרנספורמציית הסיבוב והתזוזה בין מערכות צירים סמוכות באופן הבא: 53 54 מבוא לרובוטיקה a i cθ i d i a i sθ i d i ד"ר ניר שוולב j-1 ; sθ i sα i -cθ i sα i cα i -sθ i cα cθ i cα i sα i cθ i R j R x α i R z θ i sθ i 0 j-1 ומכאן ,הטרנספורמציה ההומוגנית בין מערכות צירים סמוכות תהיה: )(4.4 a i cθ i a i sθ i di 1 sθ i sα i -cθ i sα i cα i 0 -sθ i cα i cθ i cα i sα i 0 cθ i sθ i-1 Ti i 0 0 הפתרון המלא לקינמטיקה הישירה יתקבל משרשור הטרנספורמציות כפי שדנו לעיל (ראה נוסחה 9.0בפרק זה). הערה :ניתן למצוא ברשת סרטי אנימציה רבים שלבטח יסייעו בהבנת מידול .DHהמחבר ממליץ לחפש סרט של n Ethan Tira-Thompsonמאוניברסיטת .CarnegieMellon דוגמא :נדגים כיצד גוזרים את הפרמטרים של DHעבור הרובוט RRRהטורי המודגם באיור. ראשית נסמן את המפרקים החל מהבסיס ב , q1 , q 2 , q 3כאשר q 3מציין את המפרק הקרוב לקצה החופשי .ע"פ כלל (ה) נצמיד את מערכת צירים 3לבסיס הרובוט ,כש Z0 -יוצב לאורך ציר ( q1נשים לב שקבענו גם את מיקום הראשית וגם את כיוון ציר Zשל מערכת .)3כלל (א) מורה להצמיד למפרקים הסיבוביים q 2 , q 3את הצירים Z1 , Z 2בהתאמה (נשים לב שעדיין לא נקבעו ראשיתות הצירים של המערכות { .)}9{,}6ע"פ כלל (ב) הצבת ציר Xiתהיה לאורך הניצב המשותף ל Zi-1 -ו Zi -וכיוונו מ Zi-1 -ל , Zi-ומכאן יקבעו גם ראשיתות הצירים של מערכות { }9{,}0כמוצג באיור: ד"ר ניר שוולב מבוא לרובוטיקה נשים לב ש Z1 || Z0ולכן נקבע את ראשית מערכת צירים { }6קרוב ככל האפשר לראשית הקודמת .המרחק בין Z1ו Z2עובר בבֶ ֶרך וקובע את .X2מערכת הצירים השלישית (מערכת התפסנית) נבחרת באופן שרירותי כאשר X3ניצב ל Z2 -בהתאם לסעיף (ו) .את צירי ה Y נשלים באופן שכל מערכות הצירים תהיינה ימניות .הפרמטרים של DHיקבעו באופן הבא: Θi di ai αi מפרק i - Θ6 0 a0 0 1 Θ2 0 a6 -90 2 Θ3 a3 0 0 3 נציב בנוסחה 3לקבל את הטרנספורמציות: a 1cθ 2 a 1sθ 2 ; 0 1 - sθ 2 cθ 2 0 0 0 0 -1 0 0 a 0 cθ1 cθ 2 0 a 0 sθ1 1 sθ ; T2 2 1 0 0 0 1 0 cθ1 - sθ1 cθ1 sθ 0 T1 1 0 0 0 0 פתרון הקינמטיקה הישירה יתקבל מהכפלה. 0 T3 0 T1 1 T2 2 T3 : 55 56 ד"ר ניר שוולב מבוא לרובוטיקה תרגיל :1.4עבור הרובוט RRהטורי המודגם באיור: (א) קבע את מערכות הצירים על-פי ( .DHב) מצא פרמטרים של DHורכז אותם בטבלה( .ג) מצא את מטריצת הטרנספורמציה - 0T2במילים אחרות פתור את הקינמטיקה הישירה. פתרון( :א) נציב את מערכת העולם בבסיס הרובוט .נבחר את ציר Z0של מערכת העולם בכיוון .q1ציר Z1יוצב בכיוונו החיובי של ( q2הכיוון שהוחלט כחיובי) .נציב את מערכת התפסנית (ראה כלל ו' בתחילת הפרק). שרירותית נזכור שהדרישה היחידה היא ש X2 -יוצב בניצב ל .Z1 -נשלים את מערכת התפסנית למערכת ימנית כבאיור .עתה (ראה כלל ב') ציר X6יהא לאורך הניצב המשותף ל Z1 -ו Z2 -וכיוונו מ Z1 -ל Z2 -כמוצג באיור. נשים לב ששני המפרקים Z1 || Z2מקבילים ,ולכן (ראה כלל ט') נבחר את הראשיתות כך שהמרחק ביניהן יהא מינימאלי. (ב) בכדי למלא את הפרמטרים יש לבחון ראשית את כיווני הצירים :עבור הציר בבסיס הרובוט -ציר - q1 זווית הסיבוב מודדת את הזווית בין הצירים X0ל X1 -ונמדדת סביב .Z0זווית הסיבוב מודדת את הזווית בין הצירים X1ל, X2 -נמדדת סביב ,Z1ומתאפסת במצב המאויר (במצב בו שני הצירים מתלכדים) .אגב ,כשאנו אומרים "נמדדת סביב "Z1הכוונה היא תוך שימוש בכלל יד ימין. di L1 0 מטילים את Oi ai 0 L2 מרחק בין Ziל- על Zi-1ומודדים Zi-1לאורך Xi את המרחק בינו (תמיד חיובי) לבין Oi-1 αi 900 00 הזוויות בין Zi-1 Θi Θ6 Θ2 זוויות בין Xi-1לXi - ל Zi -סביב Xi סביב Zi-1 i 1 2 ד"ר ניר שוולב מבוא לרובוטיקה (ג) נציב בנוסחה ( )9.9לקבל את הקינמטיקה הישירה: 0 L2 c 2 0 L2 s 2 1 0 0 1 s 2 c 2 0 0 0 c 2 0 s 2 L1 0 1 0 0 s1 0 c 1 1 0 0 0 L2 c1c 2 L2 s1c 2 L1 L2 s 2 1 s1 c 1 0 0 c 1 s 0 0 1 T2 T1 T2 1 0 0 c1 s 2 s1 s 2 c 2 0 c 1 c 2 s1c 2 s 2 0 תרגיל :1.5עבור הרובוט RPRהטורי המודגם באיור הבא( :א) קבע את מערכות הצירים על-פי ( .DHב) מצא פרמטרים של DHורכז אותם בטבלה( .ג) מצא את מטריצות 1 0 1 2 הטרנספורמציות ( . T1 , T2 , T3ד) כתוב את הביטוי עבור הטרנספורמציה . T3 פתרון( :א) נציב את מערכת העולם בבסיס הרובוט כמודגם באיור הבא (נבחר את ציר Z0של מערכת העולם בכיוון .)q1ציר Z1יוצב בכיוונו החיובי של ( q2הכיוון שהוחלט כחיובי, ובמקרה זה -כיוון ההתארכות של המפרק הפריזמטי) .ציר Z2יוצב בכיוונו החיובי של .q3את מערכת התפסנית נציב בהמשך .כיוון ש ( Z1=Z2ראה כלל ח' בתחילת הפרק) נציב את הציר X1בניצב לשניהם, והראשית תבחר שרירותית להיות בדיוק נזכור מעל ראשית מערכת הבסיס. שהדרישה היחידה על מערכת התפסנית היא ש – X3יוצב 57 מבוא לרובוטיקה 58 ד"ר ניר שוולב בניצב ל ,Z2 -ונשלים את מערכת התפסנית למערכת קואורדינאטות ימנית. (ב) נרכז את הפרמטרים של DHבטבלה הבאה: di L1 L2 L3 αi 900 00 00 ai 0 0 0 Θi Θ1 0 Θ2 i 1 2 3 נשים לב ש L2הינו הפרמטר המשתנה של המפרק הפריזמטי( .ג) נציב ב ( )9.9ונקבל 0 0 1 L2 0 1 0 0 0 1 0 01 0 1 T2 1 L3 0 0 0 1 0 0 0 0 (ד) T2 2 T3 - sθ 2 cθ 2 0 0 0 cθ 2 0 2 sθ T3 2 L1 0 1 0 0 sθ1 0 - cθ1 0 0 1 0 cθ1 sθ 0 T1 1 0 0 1 תרגיל :1.6עבור הרובוט RPRהטורי המודגם באיור הבא( :א) קבע מערכות הצירים על-פי ( .DHב) מצא פרמטרים של DHורכז אותם בטבלה. (ג) מצא 0 1 2 . T1 , T2 , T3 את (ד) מטריצות פתור את הטרנספורמציות הביטוי עבור 0 הטרנספורמציה . T3 פתרון( :א) בבחירת מערכות הצירים נשים לב כי: Z1||Z0ולכן ע"פ כלל ט' (ראה תחילת הפרק) ראשית הצירים O1תיבחר במיקום הקרוב ביותר לראשית .O0 Z1 Z 2 ולכן ראשית הצירים תהיה בנקודת החיתוך .ציר X1ייבחר מאונך ל Z0ול.Z1 - ציר X2ייבחר מאונך ל Z1ול . Z2 -ציר X3יהיה מאונך ל( .Z2 -ב) יש להסתכל על הקונפיגורציה של הרובוט ,בה הכי קל להבין את מנח הצירים הכללי .לשם כך נבחר את ציר X0בכיוון ציר X1כמודגם באיור. 59 ד"ר ניר שוולב מבוא לרובוטיקה כעת נוכל למצוא את הפרמטרים ונרכזם בטבלה :הבאה מפרק Θi αi ai di 1 Θ1 0o a 0 2 90o 0 L4+L1 3 Θ3 0o L6 L5 נביט באיור הבא המתאר 2 בכדי להיווכח ש :את הרובוט במבט על : ונקבלiTi+1 -נציב כעת במשוואות שמצאנו ל c1 s 0 T1 1 0 0 - s1 c1 0 0 0 ac1 cα 0 as1 1 sα ; T2 1 0 0 0 0 1 c3 0 - cα 0 2 c ; T3 3 1 0 L1 L 4 0 0 0 0 1 0 sα 0 - s3 c3 0 0 0 L6c3 0 L 6s 3 1 L5 0 1 :ולכן c1α c 3 s s 0 T3 0 T2 1 T2 2 T3 1α 3 s 3 0 c1α s 3 s1α s 3 s1α c1α c3 0 0 0 L 6 c1α c 3 L 5 s1α αc 1 L 6 s1α c 3 L 5 c1α αs 1 L 6 s 3 L1 L 4 1 מבוא לרובוטיקה 61 ד"ר ניר שוולב כאשר )c1α cos(θ1 α); s1α sin(θ1 α תרגיל :1.1נתון הרובוט המישורי RPRהמודגם באיור( ,א) מהו מרחב העבודה של הרובוט (ב) פתור את בעיית הקינמטיקה הישירה. פתרון( :א) הרובוט בעל 0דרגות חופש .מפרק q1הוא מפרק סיבובי מישורי סביב .Z0מפרק ,q2מפרק פריזמטי ,נע ע"ג ציר .Z1מפרק q3הוא מפרק סיבובי מישורי סביב .Z2בכדי להתחקות אחר מרחב העבודה נדמיין את הקטע המחבר בין ראשית הצירים למפרק הסיבובי השני .Lאורך הקטע Lתלוי במידת פתיחת המפרק הפריזמטי L1וערכו 2 . L L1 L 0כיוון שאורך המפרק הפריזמטי נע בין אפס (לשם 2 פשטות) לגודל מקסימאלי נתון L ,נע בין L1לערך מקסימאלי . Lmaxעבור כל ערך של ,Lזרוע התפסנית יכולה להסתובב סיבוב מלא סביב המפרק הסיבובי { .}9מרחב העבודה יהא ,אם כן ,טבעת מישורית שרדיוסה החיצוני ורדיוסה הפנימי ( Lmin L1ב) לאחר בחירת מערכות הצירים ,נמצא את הפרמטרים של DHונקבצם בטבלה שבעמוד הבא: di ai αi Θi מפרק 0 L0 -900 Θ1 1 L9 L6 900 0 2 0 L0 0 Θ2 3 נציב בנוסחה (:)9.9 ד"ר ניר שוולב מבוא לרובוטיקה תרגיל :1.2נתון רובוט בעל 0דרגות חופש( .א) מהו מרחב העבודה של הרובוט (ב) פתור את בעיית הקינמטיקה הישירה. (ג) כתוב את הטרנספורמציה המתארת את מיקום המפרק הסיבובי השני ביחס לבסיס הרובוט( .ד) הסבר מהי האוריינטציה והמיקום של יחידת הקצה. פתרון( :א) המקום הגיאומטרי של המפרק הסיבובי השני יחסית לבסיס הרובוט הוא מעגל בגובה L0וברדיוס .L1עבור כל מיקום כזה התפסנית חופשית לנוע סביב בטבעת עם רדיוס חיצוני ופנימי נתונים .מכאן ,שמרחב העבודה יהא טורוס מלא כמודגם .נעיר כי במידה והמפרק הפריזמטי מאפשר זאת הטורוס יכול "להתנפח" במידה כזו שחור הטורוס ייסגר( .ב) לאחר קביעת מערכות הצירים { }3ו }6{ -ציר Z2נקבע בכיוון המפרק הפריזמטי .שתי ראשיתות מערכות הצירים { }6ו- { {9מתלכדות ,אם כן .נרכז את הפרמטרים של DHבטבלה הבאה: di ai αi Θi מפרק L0 L1 +90º Θ1 1 0 0 +90º +Θ2 2 L9 0 0 0 3 נעיר כי בקביעת הפרמטרים הנחנו כי Θ2מתאפס בעת שהמפרק הפריזמטי מכוון כלפי מטה .לאחר הצבה בנוסחה ( )9.9נקבל: 61 מבוא לרובוטיקה 62 0 0 0 1 L2 0 0 1 0 0 1 0 ד"ר ניר שוולב 1 0 2 T3 0 0 0 0 ; 0 1 0 - s2 0 - c2 0 0 1 0 c2 - s 1 T2 2 0 0 L 1 c1 L 1s 1 ; L0 1 0 s1 0 c1 0 0 1 0 c1 s 0 T1 1 0 0 הפתרון לקינמטיקה הישירה יתקבל מהכפלת המטריצות: c1 s 2 L 2 L 1 c1 s 1 s 2 L 2 L 1s 1 c2L2 L0 1 c 1s 2 s 1s 2 s1 c1 c2 0 0 0 (ג) הטרנספורמציה הדרושה היא T2 0 T1 1 T2 v 31 המיקום נתונים כ : 1 R T3 33 0 0 c1 c 2 s s 0 T3 1 2 s 2 0 (ד) מטריצת האוריינטציה ווקטור 0 תרגיל :1.6נתון הרובוט המישורי המודגם באיור ,מצא את פרמטרי דנביט והרטנברג ורשום את הטרנספורמציות . 0 T1 , 1T2 הפתרון :נשים לב כי אין לזווית הברך כל משמעות קינמטית ,ולמעשה הזווית תהווה פרמטר בפתרון הקינמטיקה הישירה .לאחר הצבת מערכות הצירים ההבחנה שלנו אוששה, מערכת צירים { }6מוקמה בנקודה שכלל אינה תלויה בזווית הברך .נסכם את הפרמטרים הנגזרים בטבלה: מבוא לרובוטיקה תרגילים נוספים 9.3פתור את בעיית הקינמטיקה הישירה עבור הרובוט RPPהמרחבי המודגם באיור: תשובה: 9.1פתור את בעיית הקינמטיקה הישירה עבור מפרק ספרי( .כפי שהוזכר בפרק הראשון המודל עבור מפרק כזה יהא רובוט RRR מרחבי כמודגם באיור .אורכי החוליות עבור רובוט כזה יתאפסו כולם). תשובה: 9.6באיור ( ,6ראה עמ' )9מתואר רובוט מרחבי RRPRמדגם .SCARAפתור את בעיית הקינמטיקה הישירה עבור רובוט זה. ד"ר ניר שוולב 63 64 ד"ר ניר שוולב מבוא לרובוטיקה תשובה: 0 a 1c1 a 2 c12 0 a 1s1 a 2 s12 1 a 0 d3 d 4 0 1 9.63באיור מודגם רובוט מרחבי .RRP c123 s123 c123 s 0 T4 123 0 0 0 0 רשום את כל הטרנספורמציות 0 T1 , 0 T2 , 0 T3עבור רובוט זה. תשובה: 0 0 ; L1 1 c1s 2 - s1c 2 - c2 0 0 c1 c 2 s 1 0 0 s1s 2 - c1 ; T 2 s L1 0 2 1 0 0 s1 c1s 2 L 2 c1s 2 - c1 s1s 2 L 2 s1s 2 L1 L 2 c 2 1 - c2 0 0 0 s1 0 0 - c1 1 0 0 0 c1 s 0 T1 1 0 0 c1 c 2 s c 0 T3 1 2 s 2 0 9.66בתמונה זרוע רובוטית ( RRPRRלשם פשטות "מחקנו" מפרק סיבובי אחד) בשם זרוע סטנפורד (ראה הקדמה) .קבע מערכות קואורדינאטות ומצא את פרמטרי .DH תשובה: ד"ר ניר שוולב מבוא לרובוטיקה di ai αi Θi מפרק L0 0 +90º Θ1 1 L1 0 +90º Θ2 2 L3 0 90º 90º 3 L4 0 90º Θ4 4 L5 0 0 Θ5 5 9.69חשב את הקינמטיקה הישירה עבור הרובוט הצילינדרי RPP תשובה: 0 rc1 0 rs1 0 z 0 1 - s1 c1 1 0 c1 s 0 T2 1 0 0 65 66 ד"ר ניר שוולב מבוא לרובוטיקה .5הקינמטיקה ההפוכה לאחר שלמדנו כיצד לפתור את בעיית הקינמטיקה הישירה ,נפנה לדון במצב שכיח :נניח כי זרוע הרובוט נתונה בקונפיגורציה ידועה וברצוננו למקם את התפסנית בנקודה נתונה במרחב העבודה .השאלה הראשונה העולה היא :האם מסוגלת תפסנית הרובוט להגיע ליעד הרצוי (מיקום ,אוריינטציה ואו שניהם)? בהנחה שהתשובה לשאלה הראשונה חיובית נרצה כמובן לדעת מהם ערכי המפרקים שיביאו את התפסנית ליעודה – זוהי בעיית הקינמטיקה ההפוכה ).(Inverse Kinematics הערה :כפי שניווכח במהלך הפרק ,בעיית הקינמטיקה ההפוכה קשה ולעיתים אף בלתי פתירה .על אף שלא נעמוד על המקרים הללו נציין שבמקרים כאלו ניתן למקם את תפסנית הרובוט באמצעות אנליזה ליניארית בה נדון בפרק הבא או באמצעות דגימה מקדימה של כל הקונפיגורציות האפשריות (ראו פרק )69ורישומן בטבלת חיפוש ).(Look Up Table דוגמא :נתון הרובוט המישורי RRהמודגם באיור ,ונתון מיקום x, y רצוי עבור התפסנית .הבעיה הקינמטית ההפוכה מסתכמת במציאת כל ערכי המפרקים θ1 , θ 2 המתאימים. מהתבוננות באיור שמשמאל נקל להבין שקיימים שני פתרונות לבעיה – במילים אחרות ,עבור הרובוט המישורי RRקיימות שתי אפשרויות להגיע לנקודה הנתונה מרפק עליון ומרפק תחתון (.)elbow up, elbow down לבד מריבוי הפתרונות ,הקינמטיקה ההפוכה מערבת התמודדות עם משוואות טרנסנדטליות (בהם המקדמים עצמם אינם פתרונות של פולינום) – משואות כאלו נוטות להיות קשות ולעיתים אף בלתי פתירות .בהקשר די להזכיר את משפט גלואה הטוען כי החל מפולינומים בסדר 5והלאה ,אין נוסחה למציאת כל השורשים. הגדרה :בהינתן הקינמטיקה הישירה של רובוט 44 d n q1 q n 1 0 0 R n q1 q n 0 ובהינתן מיקום 0 d nואוריינטציה 0 R nרצויים של התפסנית ,בעיית הקינמטיקה ההפוכה מבקשת למצוא את פרמטרי המפרקים המתאימים . q1 q n כאשר סימָּ נו את פרמטרי הכניסה ( .6זוויות .9 ,θiאורכם )αiשל הרובוט ב.qi - ד"ר ניר שוולב מבוא לרובוטיקה רובוט ייקרא פתיר ( (Solvableאם ניתן למצוא את כל הפתרונות של הקינמטיקה ההפוכה באמצעות אלגוריתם או באמצעות פתרון אנליטי( .ברור שתמיד תהיה עדיפות לפתרון אנליטי מטעמי זמן החישוב והבנת הקינמטיקה של הרובוט). משפט :רובוטים טוריים בעלי 9דרגות חופש עם מפרקי R,Pבלבד הם פתירים (פתרון נומרי) .נעיר ,שלא כל מטריצה Rווקטור dמהווים סיבוב והזזה פיזיקאליים .נבדוק: (א) האם Rהיא מטריצת סיבוב .נזכור שמטריצת סיבוב Rמקיימת: R T R I; detR 1 (ב) האם dאפשרית .כלומר האם המיקום הרצוי של התפסנית נמצא במרחב העבודה. (ג) האם התבנית של Rו d-תואמת את התבנית של הקינמטיקה הישירה .אם נתמקד, לדוגמא ,ברובוט RPPמהפרק הקודם (דוגמא )9.3שטרנספורמציית הקינמטיקה הישירה שלו נתונה במטריצה: L 2 s1 L 2 c1 L1 1 s1 c1 0 0 0 0 1 0 c1 s 0 T2 1 0 0 כיוון שווקטור המיקום של התפסנית נתון כ , d L 2 s1 , L 2 c1 , L1 -על כל מיקום רצוי x 0 , y 0 , z 0 של התפסנית לקיים את התבנית הזו וכך לדוגמא . x 0 y 0 1 2 2 בהינתן d ,Rפיזיקאליים ,מערכת המשוואות המתקבלת מהשוואתם לקינמטיקה הישירה נקבל( :א) 0 ºdn=dמשוואות בלתי תלויות עבור המקרה המרחבי ( 9משוואות עבור המקרה המישורי) עם q1 q nנעלמים( .ב) 6 ºRn=Rמשוואות עם q1 q nנעלמים עבור המקרה המרחבי (משוואה אחת עבור המקרה המישורי) .אולם ,מכיוון שידוע שסיבוב ˆ nניתן לכתוב באמצעות ווקטור יחידה ˆ nוזווית הסיבוב ,θנוספו רק 0משוואות בלתי תלויות במקרה המרחבי (משוואה אחת עבור המקרה המישורי). בסה"כ קיבלנו 9משוואות במקרה המרחבי ( 0משוואות עבור המקרה המישורי) ו n-נעלמים. נסמן את ממד מרחב התנועה של התפסנית בו אנו דנים ( d=6לרובוט מרחבי d=3 ,לרובוט מישורי) ונמנה את המקרים האפשריים: (א) אם n=dקיים מספר סופי של פתרונות. 67 68 ד"ר ניר שוולב מבוא לרובוטיקה (ב) אם n<dלא בטוח שניתן להגיע לנקודה הרצויה באוריינטציה הרצויה. (ג) אם n>dיש אינסוף פתרונות ,שמהווים יריעה n-dממדית( .במצבים מיוחדים אוסף הפתרונות אינו מהווה יריעה ,לקורא המתעניין מומלץ לקרוא [)]65 לשם המחשה נדגים זאת עבור מרחב הפתרונות בו הדרישה היא על מיקום התפסנית ללא דרישה על האוריינטציה שלה (במקרה כזה :)d=2 מרחב הפרמטרים האבסטרקטי לרובוט שני המפרקים מפרקים ( .)n=2במצב זה קיימות שתי קונפיגורציות לכל מיקום גנרי של התפסנית. לרובוט שלשה מפרקים ( .)n=3במצב זה קיים מרחב רציף בן ממד יחיד לכל מיקום גנרי של התפסנית .קו כזה יהא איחוד של מסלולים סגורים. מרחב הפרמטרים עבור רובוט מישורי RRRR הוא -9ממדי ( ,)n=4ולכן בטבלה נאלצנו להציג חלק מהקואורדינאטות .אף על פי כן ,האיור מציג יריעה דו ממדית כנטען. על רובוט במרחב תלת ממדי לקיים 9משוואות אילוצים ,ולכן בכדי לאפשר מיקום תפסנית במרחב השש ממדי נצטרך לפחות 9מפרקים .עם זאת ,קיימת עדיפות לרובוטים יתירים )( (Redundant Robotsכלומר כאלו בעלי יותר מ 9-מפרקים) ,בכדי לאפשר יתר תנועתיות לדוגמא ראו [ ]69ברשימת המקורות. ד"ר ניר שוולב מבוא לרובוטיקה התשובה לשאלה בדבר קיום פתרון לבעיית הקינמטיקה ההפוכה תלויה כמובן באופן התכנון של הרובוט ,לבד מהשיקולים המתמטיים הננקטים .לדוגמא ,תנועת מפרקים סיבוביים יכולה להיות מוגבלת -ובאופן זה ,לא כל פתרון מתמטי יהיה קביל .לאור האמור ,ברור שלאחר מציאת פתרון מתמטי חובה עלינו לבדוק האם הוא קביל. בחירת הפתרון :בכדי לבחור מתוך קבוצת הפתרונות עבור בעיית הקינמטיקה ההפוכה ,עלינו ל כלול שיקולים נוספים על אלו הגיאומטריים .בדרך כלל אחד או יותר מהטיעונים הבאים נשקלים( :א) במקרה שקיימים מכשולים במרחב העבודה נעדיף למקם את זרוע הרובוט רחוק מהם ככל האפשר( .ב) נרצה להקטין ככל הניתן את שינוי הפרמטרים של המפרקים מערכם הנוכחי( .ג) נרצה לשנות באופן מינימאלי את תזוזת החוליות( .ד) נרצה לשנות באופן מינימאלי את החוליות הכבדות. כלל אצבע :ככל שיותר פרמטרים מסוג aשל דנביט והרטנברג מתאפסים ,כך קטֵ ן מספר הפתרונות לקינמטיקה ההפוכה .לדוגמא :עבור רובוט פומה (ראה איור) ai=3לכל iולכן קיימים לכל היותר 1פתרונות לבעיית הקינמטיקה ההפוכה. תרגיל :2.4בתרגיל 9.0ראינו כי עבור הרובוט RPRהטורי המודגם באיור הקינמטיקה הישירה נתונה בטרנספורמציה . 0 T3פתור את בעיית הקינמטיקה ההפוכה. L 6 c1α c 3 L 5 s1α αc 1 L 6 s1α c 3 L 5 c1α αs 1 L 6 s 3 L1 L 4 1 s1α c1α c1α s 3 s1α s 3 0 0 c3 0 c1α c 3 s s 0 T3 1α 3 s 3 0 69 71 ד"ר ניר שוולב מבוא לרובוטיקה פתרון :הקינמטיקה ההפוכה היא פתרון המשוואה המטריצית: Px R Py 0 T3 Pz 0 0 0 1 בכדי לפשט את הפתרון נביט במבט על ,ונשתמש בקשרים גיאומטריים .מהאיור ניתן לראות שהביטוי ל ( ,Px2+PY2כלומר סכום הריבועים האיברים ( )9,9( )6,9במטריצה )0T3תלוי רק ב- .θ9 ac α L 6 c 2 2 L5 L 2s α 2 PX2 PY2 בכדי למצוא את קבוצת הפתרונות המלאה עבור הזווית θ9נבודד את c2ואת .s2 - ac α PX2 PY2 L 5 L 2 s α 2 L6 c2 ומכאן: 2 2 2 L 6 - ac α PX2 PY2 L 5 L 2 s α L6 s 2 1 - C 32 ד"ר ניר שוולב מבוא לרובוטיקה ובנוסף ,קיבלנו את הביטוי ל : θ 2 2 2 2 2 atan2 L 6 - ac α PX2 PY2 L 5 L 2 s α ,-ac α PX2 PY2 L 5 L 2 s α נשים לב שקיימים ארבעה פתרונות לזווית .θ9בכדי למצוא את הזווית θ6נתמקד בזווית φ BAPתוך שימוש במשפט הקוסינוסים. L25 L 6 c 3 PX2 PY2 α 2 - 2α PX2 PY2 cφ 2 ושוב נמצא ביטוי עבור sומשני הביטויים נקבל את הביטוי עבור : 2 2 2 2 2 atan2 4α PX2 PY2 α 2 PX2 PY2 L25 L 6 c 2 , α 2 PX2 PY2 L25 L 6 c 2 כאמור ל c2 -שני ערכים ומכאן לקיימים שני ערכים גם ל . וכמובן: . θ1 φ atg 2 PY , PXניתן לחלץ את פרמטר המפרק הפריזמטי מהשוויון המטריצי או מהתמונה הגיאומטרית ולקבל . L 4 Pz L 6 s 3 L1 :לסיכום :קיימים ארבעה פתרונות עבור הבעיה הקינמטית ההפוכה. תרגיל :2.5מהו מרחב העבודה ומרחב ה Dexterity-של הרובוט 0Rהמישורי שבאיור? מצא את הקינמטיקה ההפוכה עבור הרובוט כאשר , L 3 0כלומר התפסנית צמודה למפרק השני ויכולה להסתובב סביבו. פתרון :מרחב העבודה של הרובוט הוא הטבעת המישורית אשר הרדיוס המינימאלי והמקסימאלי שלה נתונים כערכי הקיצון של הסכום , εi Li i כאשר i 1,1והאינדקס iמונה את החוליות .למעשה ,מרחב העבודה עבור כל רובוט מישורי בעל מספר שרירותי של מפרקים סיבוביים יהא טבעת מישורית שהרדיוס המינימאלי והמקסימאלי שלה נתונים בביטוי זה .במקרה שלנו נקודה ) (x,yתמָּ צא בתוך מרחב העבודה אם . L1 L 2 x 2 y 2 L1 L 2מרחב ה Dexterity-במקרה זה זהה למרחב העבודה כיוון שבכל נקודת עבודה יכולה התפסנית לבצע סיבוב מלא .בכדי למצוא את הקינמטיקה 71 72 ד"ר ניר שוולב מבוא לרובוטיקה ההפוכה נצטרך לפתור ראשית את הקינמטיקה הישירה .הצבת מערכות הצירים פשוטה (ראה איור ,1פרק .)6 0 0 0 0 1 0 0 1 - s3 c3 0 0 0 L2c2 c3 0 L 2s 2 1 s ; A2 3 1 0 0 0 0 1 - s2 c2 0 0 0 L1 c1 c2 0 L 1s 1 1 s ; T2 2 1 0 0 0 0 1 - s1 c1 0 0 c1 s 0 T1 1 0 0 הטרנספורמציה המייצגת את הקינמטיקה הישירה נתונה ,אם כן ,במטריצה: 0 L1c1 L 2 c12 0 L1s1 L 2 s12 1 0 0 1 כאשר c123 - s123 c123 s 0 T3 123 0 0 0 0 . C123 cosθ1 θ 2 θ 3 נזכור שבמקרה המישורי ,האוריינטציה של התפסנית נקבעת באמצעות זווית אחת .בעיית הקינמטיקה ההפוכה עבור הרובוט שלנו תהיה: x L1c1 L 2 c12 y L1s1 L 2 s12 θ θ θ θ 2 3 1 את המשוואה המטריצית שלעיל קיבלנו מהשוואת T3 x הרצויים y θ 0 לווקטור מיקום והאוריינטציה . ע"פ משפט הקוסינוסים ,ידוע x 2 y 2 L1 2 L 2 2 - 2L1L 2 cosφעבור הזווית בין החוליות .הקשר בין פרמטרי המפרקים לזווית שמצאנו זה עתה נתון באיורים: θ2 π φ מרפק למעלה θ2 π φ מרפק למטה ד"ר ניר שוולב מבוא לרובוטיקה ניתן לנסח את בעיית הקינמטיקה הישירה מטריציונית באופן הבא: c1 s1 - k2 k 1 c1 s1 k1 k2 L 2s 2 L1 L 2 c 2 x L1 L 2 c 2 y L 2 s1 נכפיל במטריצה ההופכית ונשתמש בשיטת קרמר לפתור את המשוואה: x c1 y s1 את הזווית נחשב מתוך הקשר: k 1 k2 k1 - k2 1 k k 22 2 1 . 1 a t acn1 ,2s1 הזווית 3תתקבל מהקשר . 3 1 2נשים לב שכאשר x=y=0הפתרון אינו מוגדר .במצב זה הזווית 1שרירותית .קיבלנו שני פתרונות (מרפק עליון ומרפק תחתון) לבעיית הקינמטיקה ההפוכה. לבסוף נשים לב שבמצב בו הזרוע מתוחה שני הפתרונות מתלכדים. בעיית הקינמטיקה ההפוכה אינה פשוטה ,עם זאת ,מתברר כי עבור רובוטים בעלי 9דג"ח בהם לפחות שלשה צירי מפרקים נחתכים (כמו ברובוט סטנפורד ,וברובוט פומה) ניתן לחלק את הבעיה לשתי תת בעיות קלות יותר :בעיית המיקום (בה נחפש את קבוצת ערכי המפרקים בכדי להגיע למיקום תפסנית רצוי) ,ובעיית האוריינטציה (בה נחפש את קבוצת ערכי המפרקים בכדי להגיע לאוריינטציית התפסנית הרצוי) .במילים אחרות בכדי לפתור את הבעיה קינמטית ההפוכה ראשית נמצא את הפרמטרים שממקמים את פרק הזרוע במיקום הנכון ולאחר מכן נבחר את הפרמטרים המתאימים לקבלת האוריינטציה המבוקשת. משפט ( :)Pieperלרובוטים טוריים בעלי 9דרגות חופש עם 0צירים עוקבים ,שנחתכים בנקודה .6יש פתרון אנליטי מלא .בכלל זה גם רובוטים עם 0צירים מקבילים עוקבים שכן הם "נחתכים באינסוף"( .המשפט חל על מרבית הרובוטים התעשייתיים) דוגמא :נתמקד ברובוט שש דרגות חופש 6Rמרחבי בשם פומה ) (Pumaשהודגם באיור 9לעיל (למעשה ,מיקומי המפרקים עבור דגמים שונים של רובוט פומה ממוקמים באופן שונה זה מזה –כאן נדון במבנה "הערום" של הרובוט) .רובוט זה נמצא בשימוש רב בתעשייה ומשמש לאפליקציות ריתוך ולמשימות הרכבה .שכיחותו של 73 74 ד"ר ניר שוולב מבוא לרובוטיקה רובוט פומה נובעת מפשטות הפתרון הקינמטיקה ההפוכה שלו כפי שנדגים כעת .נשים לב, ששלושת הצירים הרחוקים מהבסיס (אלו קרויים מפרקים "דיסטאליים" בספרות ,להבדיל מהמפרקים "הפרוקסימאליים" כלומר אלו הקרובים לבסיס הרובוט) נחתכים כולם בנקודה Pcכמודגם באיור ,כלומר ,סיבוב Θ4 ,Θ5 ,Θ6לא ישפיעו על מיקום נקודה .Pc במצב הזה נחלק את בעיית הקינמטיקה ההפוכה לשתי תת-בעיות. בהינתן מיקום התפסנית d ומטריצת הסיבוב ,Rמצא את Pcשמתאימה להם .מכאן מצא את .Θ1 ,Θ2 ,Θ3 בהינתן d, Rו – Θ1 ,Θ2 ,Θ3 -מצא את .Θ4 ,Θ5 ,Θ6 בכדי לפתור את הבעיה ההפוכה מפורשות, נפתור ,ראשית ,את הקינמטיקה הישירה: נבחר כהרגלנו את כווני המפרקים להיות כווני צירי .Zנשים לב כי שלושת הצירים Z4,Z5,Z6 נחתכים בנקודה אחת .צירי Xנבחרים כהמשכי המרחקים בין צירי Zהקודמים להם לבין צירי Zשל המערכת הנוכחית .לסיום ,לשם נוחיות ,את כוון Xבמערכת { }3נבחר בכיוון X במערכת { .}6ריכזנו את הפרמטרים של DHבטבלה .הצבה בנוסחאות המתאימות (ראה פרק קודם) תניב את הטרנספורמציות (שימו לב כיצד בחרנו למדוד את הזווית :) 2 c1 0 s 1 0 c1 0 s1 0 0 T1 0 1 0 L1 0 0 0 1 c2 s 2 0 L2c2 s 2 c 2 0 L 2s 2 1 T2 0 0 1 0 0 0 0 1 c3 s3 0 0 s3 c3 0 0 2 T3 0 0 1 0 0 0 0 1 di ai αi Θi מפרק L1 0 900 Θ1 1 0 L2 0 Θ2 2 0 0 3 Θ3 3 L3 0 -900 Θ4 4 0 0 900 Θ5 5 L4 0 0 Θ6 6 75 ד"ר ניר שוולב c6 s 5 T6 6 0 0 מבוא לרובוטיקה s6 c6 0 0 0 c5 04 s5 T 5 0 1 L4 0 0 1 0 0 0 s5 0 c5 1 0 0 0 0 c4 0 3 s4 T 4 0 0 0 1 0 0 s4 c4 1 0 0 0 0 0 L3 1 0 1 2 3 4 5 0 שלT1 T2 T3 T4 T5 T6 יתקבל מההכפלהT6 הפתרון לבעיית הקינמטיקה הישירה .הטרנספורמציות n 11 n 12 n 22 n 0 T6 21 n n 32 31 0 0 n 13 p1 n 23 p 2 n 33 p 3 0 1 כאשר n 11 c1 c 23 c 4 c 5 c 6 s 4 s 6 s 23s 5 c 6 s1 s 4 c 5 c 6 c 4 s 6 n 12 s1 c 23 c 4 c 5 c 6 s 4 s 6 s 23s 5 c 6 c1 s 4 c 5 c 6 c 4 s 6 n 13 s 23 c 4 c 5 c 6 s 4 s 6 c 23s 5 c 6 n 12 c1 c 23 c 4 c 5 c 6 s 4 c 6 s 23s 5 s 6 s1 s 4 c 5 c 6 c 4 s 6 n 22 s1 c 23 c 4 c 5 c 6 s 4 c 6 s 23s 5 s 6 c1 s 4 c 5 c 6 c 4 s 6 n 32 s 23 c 4 c 5 c 6 s 4 s 6 c 23s 5 s 6 n 13 c1 c 23c 4 c 5 s 23c 5 s1s 4 s 5 n 23 s1 c 23c 4 c 5 s 23c 5 c1s 4 s 5 n 33 s 23c 4 c 5 s 23c 5 p1 c1 L 6 c 23c 4 s 5 s 23c 5 L 5 s 23 L 4 c 23 L 2 c 2 s1 L 6 s 4 s 5 L 3 p 2 s1 L 6 c 23c 4 s 5 s 23c 5 L 5 s 23 L 4 c 23 L 2 c 2 c1 L 6 s 4 s 5 L 3 p 3 L 6 c 23c 5 s 23c 4 c 5 L 5 c 23 L 4 s 23 L 2 s 2 L1 ראשית נחלץ את זוויות המפרקים:נחלק אם כן את בעיית הקינמטיקה ההפוכה לשניים : Θ1 ,Θ2 ,Θ3 הפרוקסימאליים הרצויPc θ1 , θ 2 , θ 3 מיקום, מיקום התפסנית ומטריצת הסיבוב בהתאמהR, d בהינתן את. Pc 1 , 2 , 3 d - R eˆ 3 L 4 כפונקציה של זוויות המפרקים נתון באמצעות הקשר : נוכל לחשב באופן הבאΘ1 ,Θ2 ,Θ3 זוויות המפרקים 76 ד"ר ניר שוולב מבוא לרובוטיקה L 2 c1 c 2 L 2 s1c 2 L1 L 2 s 2 1 c1s 23 s1s 23 s1 c1 c 23 0 0 0 c1c 23 s c 0 T3 1 23 s 23 0 ולכן c1 L 2 c 2 L 3 c 23 x Pc θ1 , θ 2 , θ 3 s1 L 2 c 2 L 3 c 23 y L L s L s z 2 2 3 23 1 גיאומטרית ,אם נביט בהיטל של הנקודה PCעל מישור , XYמרחקה מראשיתו יהא r L 2 c 2 L 3 c 23ולכן שיעורי הנקודה על המישור יהיו . rc1 , rs1 מנקודת מבט זו נקל לנחש את מערכת המשוואות המפושטות: L 2 c 2 L 3 c 23 x 2 y 2 L 2 s 2 L 3 s 23 z L1 y x θ1 atan 2 , 2 2 x y x 2 y2 הסימנים במשוואה הראשונה והשלישית מציינים את שתי האפשרויות למיקום אפשרי של הזרוע :סימן חיובי מציע את האפשרות בו מפרק { }0מצוי ברביע הראשון של מישור ,XY בעוד שסימן שלילי מציע את האפשרות בו המפרק מצוי ברביע השלישי .פתרון זוג המשוואות הראשון זהה לתרגיל 5.9שפתרנו. מצאנו אם כן שני פתרונות לערכי המפרקים Θ1 ,Θ2 ,Θ3המתאימים לכיוון הזרוע ("ימין ושמאל") .בנוסף לכל פתרון כזה קיימים שתי פתרונות אפשריים המתאימים למצב מרפק עליון ומרפק תחתון .סה"כ התקבלו 1פתרונות לערכי המפרקים . Θ1 ,Θ2 ,Θ3 הערה :אם x=y=0הפתרון סינגולארי ,בפרק הבא נעמוד בהרחבה על הסיטואציה הזו .בכל מקרה שימו לב שבמקרה זה PCנמצא בדיוק מעל נקודת הבסיס ,וברור שבקונפיגורציה כזו אין חשיבות ל - Θ1-כל ערך שלה אפשרי. כעת נפנה לחלק השני של בעיית הקינמטיקה ההפוכה ,כלומר נמצא את ערכי המפרקים הדיסטאליים :Θ4 ,Θ5 ,Θ6ידוע כי ד"ר ניר שוולב מבוא לרובוטיקה c 4s 5 s 4s 5 c 5 c 4c5c6 s 4c6 s 4 c 5s 6 c 4s 6 s 5s 6 c 4 c5c 6 s 4s 6 R 6 s 4 c5c 6 c 4s 6 s c 5 6 5 R6 R4 R5 4 3 3 0 3 0 T נכפיל משמאל את הקשר R 3 R 6 Rב R3 -לקבלת . 3 R 6 0 R 3 Rנסמן T c1c23 s1c23 s 23 r11 r12 r13 R 3 R s1 c1 0 R r21 r22 r23 c s r r 1 23 s1s 23 c23 31 32 r33 T 0 וקיבלנו את המשוואה: c 4s 5 s 4s 5 c 5 c 4c5c6 s 4c6 s 4 c 5s 6 c 4s 6 s 5s 6 r13 c 4 c 5 c 6 s 4 s 6 r23 s 4 c 5 c 6 c 4 s 6 r33 s5 c 6 r11 r12 r21 r22 r 31 r32 נתמקד בשני זוגות האיברים ( )9,0(,)6,0ו )0,9(,)0,6(-ונקבל: r r r r 2 2 θ 4 atan 2 13 , 23 , θ 6 atan 2 31 , 32 , θ 5 atan 2 r33 , r13 r23 s5 s5 s5 s5 נשים לב שקיימים שני מקרים המסומנים בסימנים חיובי ושלילי באיבר האחרון ,עבור s5 0ועבור s5 0בהתאמה .מצאנו אם כן שני פתרונות לערכי המפרקים ,Θ5לכל כיוון זרוע ("ימין ושמאל") ולכל מצב מרפק .בסה"כ התקבלו 7פתרונות לערכי המפרקים ,Θ6 , . Θ1 ,Θ2 ,Θ3, Θ4 ,Θ5 הערה :המקרה האחרון בו s5 0הינו מקרה סינגולארי בו חוליות { }9ו { }5מתלכדות. 3 במקרה זה . θ 5 0, πאם נציב c 5 1ב R 6 -נקבל: r13 r23 r33 cos(θ 4 θ 6 ) sin(θ 4 θ 6 ) 0 r11 r12 sin(θ 4 θ 6 ) cos(θ 4 θ 6 ) 0 r21 r22 0 0 1 r31 r32 ונקבל , θ 4 θ 6 atan 2r11, r21 כלומר במקרה הסינגולארי התקבלו אינסוף פתרונות עבור . θ4 ,θ6 77 מבוא לרובוטיקה 78 ד"ר ניר שוולב תרגיל :2.6פתור את בעיית הקינמטיקה ההפוכה עבור הרובוט באיור. פתרון :כזכור ,את הבעיה הישירה פתרנו בפרק הקודם .אעפ"כ נפתור את הקינמטיקה ההפוכה באופן גיאומטרי ללא שימוש בתוצאות שקיבלנו .נסמן ב- ) (PX,PYאת נקודת התפסנית .עתה נתמקד במשולש המודגש ונקבל את הקשר L1 L 2 PX2 PY2 d 2 כאשר סימנו ב d-את הניצב הקצר .נחשב את ערך הזווית ממול לניצב dעל פי atan 2 d , PX2 PY2 d 2 :הזווית βשבין ציר Xשל מערכת { }3לתפסנית ) (PX,PYיחושב כ β atan 2 PY , PX ולבסוף נקבל: 2 atan 2 PY , PX - atan 2 d , PX2 PY2 d 2 2 θ1 β- שימו לב שהתקבלו שתי פתרונות – מהם? תרגיל :2.1מהו מרחב העבודה של הרובוט RPR המרחבי הנתון באיור? ,מהו ה dexterity space-שלו? x0 יש להביא את התפסנית למיקום y 0 ללא חשיבות z 0 לאוריינטציה שלה .מהם ערכי הפרמטרים במפרקים בכדי לאפשר זאת? כמה פתרונות לבעיה? פתרון :מרחב העבודה של הרובוט הוא אוסף הנקודות אליהן יכולה התפסנית להגיע .עבור הרובוט הנוכחי ,המפרק הראשון יסובב את המשך הזרוע L2ו L3והתפסנית סביב ציר ,Z שימו לב שהתנועה תישמר תמיד בגובה .L1אורך הקטע המחבר בין התפסנית לבסיס הרובוט הוא L21 L22כאשר פרמטר המפרק הפריזמטי L2משתנה כמובן בין שני ערכי קיצון .לכן מרחב העבודה יהא טבעת מישורית בגובה .L1ה dexterity space-של הרובוט מוגדר להיות אוסף הנקודות במרחב העבודה בהן חופשית התפסנית להסתובב .במקרה שלנו זהו מרחב ד"ר ניר שוולב מבוא לרובוטיקה ריק ,לבד מהמקרה בו L3מתאפס ,או אז בקונפיגורציה בה גם L2יתאפס יהא ה dexterity spaceנקודת המרכז במרחב העבודה.ברור שתנאי מקדים לקיום פתרון הוא ש . z 0 L1כעת ,אם נתמקד במשולש ישר הזווית הנחסם על ידי L2ו ( L3ממבט על) נשכיל להבין כי . L 2 x 02 y 02 L23חישוב הזווית במפרק הסיבובי שבבסיס הרובוט יהא אם כן: α atan 2 L 3 , L 2 β atan 2 y 0 , x 0 3π 2 θ1 β- α זווית המפרק הסיבובי האחרון אינה רלוונטית כמובן לבעיה. ולכן התקבלו שתי קבוצות הפתרון האינסופיות: . θ1 , L 2 ,, θ1 ,- L 2 , תרגיל :2.2בשרטוט נתון הרובוט המרחבי ,RRPבעל 0דרגות- חופש .פתור את בעיית הקינמטיקה ההפוכה שלו. פתרון :מתוך הקינמטיקה הישירה שקיבלנו בתרגיל :63 c 1s 2 L 2 L 1 c 1 s 1s 2 L 2 L 1 s 1 c2L2 L0 1 c 1s 2 s 1s 2 s1 c1 c2 0 0 0 c1 c 2 s s 0 T3 1 2 s 2 0 העמודה האחרונה מייצגת את וקטור המיקום של התפסנית: x 0 c 1s 2 L 2 L 1 c 1 y 0 s 1 s 2 L 2 L 1s 1 z c L L 0 0 2 2 79 מבוא לרובוטיקה 81 ומכאן ד"ר ניר שוולב x0 y0 ; s1 L 2 s 2 L1 L 2 s 2 L1 c1 והמפרק הסיבובי הראשון יקיים . θ1 atan 2s1 , c1 נשים לב שהביטוי L 2 s 2 L1יכול להיות שלילי או חיובי כתלות ב- L2ולכן . θ1 atan 2 y 0 , x 0 המפרק סיבובי השני יקיים θ 2 atan 2s 2 , c 2 כאשר x 0 L1 c1 z L0 ; c2 0 L 2 c1 L2 בהנחה ש L2 יכול להיות חיובי s2 או שלילי, הפתרון יהא: x -L . θ 2 atan 2 0 1 , z 0 - L 0 נשווה את רכיבי ה Z-עבור המפרק הפריזמטי ונקבל: c1 z0 L0 c2 . L 2 לסיכום ,קיבלנו שני פתרונות ל ; θ1עבור כל ערך של θ1התקבלו שני פתרונות ל , θ 2ולכל זוג ערכים של θ1ו θ 2 -מצאנו ערך יחיד למפרק הפריזמטי .בסה"כ התקבלו ,אם כן ,ארבעה פתרונות לבעיית הקינמטיקה ההפוכה. תרגיל :2.6נתון הרובוט שבאיור הבא .יש להביא את יחידת הקצה למיקום ( )PX ,PYנתון ,כך שיִ יטֵ ה בזווית αיחסית לציר .Xמצא מהם פרמטרי המפרקים הדרושים לקיים דרישה זו. כמה פתרונות לבעיה? פתרון :מתרגיל 4.4ידוע כי הטרנספורמציה המייצגת את 0 0 1 2 הקינמטיקה הישירה היא : T3 T1 T2 T3 0 L 0 c1 L1 c1 L 2 s1 L 3 c12 0 L 0 s1 L1s1 L 2 c1 L 3s12 1 0 0 1 הדרישה היא: - s12 c12 0 0 c12 s 0 T3 12 0 0 מבוא לרובוטיקה 0 px 0 py 1 0 1 ומהשוואת ד"ר ניר שוולב sα cα 0 0 האיברים 0 L 0 c1 L1 c1 L 2 s1 L 3 c12 c α 0 L 0 s1 L1s1 L 2 c1 L 3s12 s α 0 1 0 0 0 1 ()6,6 ו,)6,9(- , θ1 θ 2 atan 2 s α , c α . θ1 θ 2 α כעת ניתן נקבל - s12 c12 0 0 sα s12 ; cα c12 c12 s12 0 0 ומכאן נקבל כלומר לפתור את זוג המשוואות.. תרגיל :2.8נתון הרובוט המרחבי RRPשבאיור. (א) צייר את מרחב העבודה של הרובוט והסבר. (ב) קבע מערכות צירים על הרובוט( .ג) מצא פרמטרי DHורשום בטבלה( .ד) מצא מטריצות טרנספורמציה ( 2 T3 ,1 T2 , 0 T1ה) מצא את מיקום יחידת הקצה( .ו) חשב את הקינמטיקה ההפוכה .באם הדרישה היא על מיקום התפסנית ,כמה פתרונות לבעיה? פתרון(:א) המפרק הסיבובי q1מסתובב סביב ,z0 המפרק הסיבובי q2מסתובב סביב ,z1והמפרק הפריזמטי נע לאורכו של .z2מרחב העבודה הינו ספרה מעובת (מלשון עָּ בֶ ה) שמרכזה q2והיא קטומה בתחתיתה .הקטימה נובעת מקיום רצפה .מפרק q3משתנה לאורכו של z2ויוצר חלל במרחב העבודה כמודגם באיור .רדיוס מרחב העבודה r L 2 2 L 3 2מקבל את ערכי הקיצון שלו כאשר ערך המפרק הפריזמטי מקבל ערך מקסימאלי ומינימאלי. 81 ד"ר ניר שוולב מבוא לרובוטיקה Joints Θi αi ai di 1 Θ1 +90º 0 L1 2 Θ2 +90º L2 0 3 0 0 0 L3 ) תיתן את טרנספורמציות9.9( (ד) הצבה בנוסחה.Θ2 שימו לב כיצד נבחרה הזווית :הקינמטיקה הישירה c1 0 s 1 s 0 c1 0 T1 1 0 1 0 0 0 0 0 0 ; L1 1 c2 s 1 T2 2 0 0 c1 c 2 s c 0 T3 1 2 s 2 0 0 0 s2 0 c2 1 0 0 0 s1 - c1 c 1s 2 s 1s 2 0 0 c2 0 L2 c 2 L2 s 2 ; 0 1 1 0 2 T3 0 0 0 0 ; 1 1 L3 0 0 1 0 0 1 0 L 3 c 1s 2 c 1 c 2 L 2 L 3 s 1s 2 s 1 c 2 L 2 L 3 c 2 L 2 s 2 L1 1 0 T3 כמטריצת המינור הימנית העליונה ב, T3 האוריינטציה של יחידת הקצה נתונה ב : 0 T3 והמיקום נתון בעמודה הרביעית של c1 c 2 R s1c 2 s 2 s1 - c1 0 c 1s 2 s 1s 2 ; c 2 L 3 c 1s 2 c 1 c 2 L 2 d L 3 s 1s 2 s 1 c 2 L 2 L c L s L 3 2 2 2 1 : הרצויd (ה) ידוע לנו וקטור המיקום L 3 c 1s 2 c 1 c 2 L 2 p x L 3 s 1s 2 s 1 c 2 L 2 p y L1 L 3 c 2 L 2 s 2 p z 82 ד"ר ניר שוולב מבוא לרובוטיקה py px ומכאן , s1 L 3s 2 c 2 L 2 L 3s 2 c 2 L 2 83 . c1 עבור המפרק הסיבובי הראשון נקבל py px . 1 atan 2 מכיוון , L 3s 2 c 2 L 2 L 3s 2 c 2 L 2 שהביטוי d 3s 2 c 2 L 2יכול להיות שלילי או חיובי כתלות ב L3 -נוכל לרשום . θ1 atan 2 p y , p x כדי למצוא את ערך המפרק הפריזמטי L3נתמקד במשולש ישר הזוית BCPשיוצרות הצלעות L2ו L3 ואז . L 3 p x 2 p y 2 p z L1 2 L 2 2נתמקד כעת במשולש ישר הזווית ,ABPהזווית APBנקבעת על פי אורך היתר שלו p x p y p z L1 2 2 2 ושיעורי הבסיס AP . p x 2 p y 2כיוון שנמנע מאיתנו השימוש בפונקציה ( atanשתי המשוואות הראשונות אינן יכולות לספק את שיעורי ה sinוה cosשל הזווית) יש לתת יתר תשומת לב לעניין ריבוי פתרונות, ובמקרה זה ברור שקיימים שני 2 2 px py ( APB acos עבור p x 2 p y 2 p z L1 2 2 פתרונות θ 2 ו- 2 .) θ 2 PBC atan 2L 3 , L 2 נקבעת באופן יחיד ,מכאן . 2 PBC APB לסיכום ,התקבלו 9פתרונות אפשריים לבעיית הקינמטיקה הישירה: L 3 2 1 L 3 2 L 3 2 1 L3 2 קבילים ל הזווית מבוא לרובוטיקה 84 תרגיל :2.7 L1 L 2 s1 0 L1 L 2 c1 1 ד"ר ניר שוולב הקינמטיקה נתונה s1 0 c1 c 2 c2 c1 0 s 1s 2 0 של הישירה רובוט בעל 9 דרגות חופש: c1 c 2 s 0 T2 1מצא את זוויות המפרקים כך שווקטור s c 1 2 0 2 שרירותי Vבמערכת התפסנית יצביע מעלה .כמה פתרונות לבעיה ? 0 0 0 2 פתרון :דרוש לקיים את השוויון ( T2 V בחרנו כאן את האיבר האחרון בווקטור 1 0 2 ההומוגני להיות אפס כיוון שאנו מתעניינים באוריינטציה של Vבלבד) כאשר 2 vy s2 ולכן: 2 V v x , v y , v zהוא וקטור יחידה .נפשט ונקבל את הקשר 2 c2 vx atan 2 2 v y , 2 v x θ2 2 2 atan 2 v y , v x c 2 2 v x s 2 2 v y s1 0 בנוסף לדרישה נוכל לקבל גם 2 c 1 vz 1 2 vz . 2נפתור את 2 s2 vy c2 vx s2 2 v y c2 2 vx vz s1 ; c1 כאשר 2 מערכת המשוואות בשיטת קרמר ונקבל: c2 2 vx s2 2 v y : 2 vz 2 vz det 2 s v c 2 v 2 x 2 y וסה"כ 1 a tan 2 s 2 2 v y c 2 2 v x , 2 v z לכל זווית 2מתאימה זווית 1יחידה .ולכן ישנם 9פתרונות לבעיה .שימו לב שלא ניתן היה לחלץ את הזווית 1ישירות .כאשר קונפיגורציה סינגולארית. תרגילים נוספים 2 V 0,0, 2 v zלא ניתן לקבוע 1וזוהי למעשה ד"ר ניר שוולב מבוא לרובוטיקה 5.6עבור הרובוט RRהמישורי שבאיור ,נתון כי זוויות המפרקים מוגבלות לתנועה: 0 1 וכן / 2 2 כתוב תוכנית MatLabשמחשבת את מרחב העבודה. תשובה: 5.63פתור את הקינמטיקה ההפוכה עבור הרובוט שהוצג בשאלה 9.69כאשר הדרישה היא על 0 מיקום יחידת הקצה והאוריינטציה R 3שלו .כמה פתרונות לבעיה? y x תשובה. 1 a tan 2 , , r x 2 y 2 : z z 5.66עבור הרובוט המישורי RRRשבאיור פתור את הקינמטיקה ההפוכה .כמה פיתרונות לבעיה? תשובה: x 2 y 2 L1 2 L 2 2 2 cos 1 2 L L 1 2 , y x , 1 a tan 2 , a tan 2L1 L 2 c 2 , L 2 s 2 r r כאשר 2 r L1 L 2 c 2 L 2 s 2 2 3 a tan 2r21, r11 r13 r23 r33 ו- כאשר r11 r12 R 3 r21 r22 r 31 r32 1 0 0 . R 2לבעיה 9פתרונות. 5.69פתור את בעיית הקינמטיקה ההפוכה של הרובוט המרחבי RPRשבאיור (שעסקנו בו 0 בשאלה )9.9עבור מיקום ואוריינטציה . R 3כמה פתרונות לבעיה? 85 86 ד"ר ניר שוולב מבוא לרובוטיקה y x 2 a , n L 2 L3 L 2 L3 תשובהL 2 x 2 y 2 L 3 : , r13 3 a tan 2r21 , r11 כאשר r23 r33 r11 r12 R 3 r21 r22 r 31 r32 1 0 R2 0 , 1 a t לבעיה שני פתרונות. 5.60פתור את בעיית הקינמטיקה ההפוכה לרובוט 3Rהמרחבי הבא .כמה פתרונות לבעיה ההפוכה ,אם ידוע שהקינמטיקה הישירה היא: L 0 s1 L1c1 c 2 L 2 c1 c 23 L 0 c1 L1c1s1 L 2 c1 c 23 L1s1 L 2 s 23 1 c1s 23 s1 s 23 s1 c1 c 23 0 1 0 c1c 23 s c 0 T3 1 23 s 23 0 x 2 y 2 z 2 L 0 2 L1 2 L 2 2 תשובה : 2 2 tan 1 t , 3 cos 1 2 L L 1 2 2 כאשר . t s 3 z t 2L1 2L 2 c 3 z s 3 0 y x 1 a tan 2 , a tan 2L1c2 L3c23 , L0 כאשר r r L1c 2 L 2 c 23 2 L 0 2 רמז :השתמשו בקשר הטריגונומטרי ל tan -חצי זווית.11 5.69פתור את הקינמטיקה ההפוכה עבור הרובוט שהוצג בשאלה .9.69כמה פתרונות לבעיה? תשובה :לבעיה 9פתרונות. 5.65הקינמטיקה הישירה לרובוט המרחבי PPRRRשבאיור נתונה להלן .פתור את בעיית הקינמטיקה ההפוכה .כמה פתרונות 1 t2 2t במקום , sin ו- 11כלומר הצבת 2 2 1 t 1 t במקום , cos כאשר t tan 2 . r 87 ד"ר ניר שוולב מבוא לרובוטיקה ?לבעיה c 4 c5c 6 s 4s 6 s c c c s 3 T6 4 5 6 4 6 s5c6 0 , 1 a t y x 2 , L3 L3 c 4c5 s 6 s 4c6 s 4 c5 s6 c4c6 c 4s 6 s 4s 6 s 5s 6 0 c5 0 a * * * 1 c1 s 0 T3 1 0 0 , Ln3 x 2 y 2 0 s1 0 c1 1 0 0 0 L 3 s1 L 3 c1 L0 1 :תשובה r r 1 . פתרונות9 לבעיה, 4 a tan 2 13 , 23 , 5 cos r33 s5 s5 88 ד"ר ניר שוולב מבוא לרובוטיקה .9אנליזה ליניארית מן הסתם ,ישנן פעולות שעדיפה עבורן תנועה איטית של התפסנית (לדוגמא ,הגעה לקרבת אובייקט במרחב העבודה) וכאלו שעדיפה בהן דווקא תנועה מהירה (לדוגמא ,שינוע חלק לנקודה אחרת) .אנו מעוניינים לבצע ,אם כן, מסלול ְתלוי זמן של התפסנית .וכך אחת ממטרותינו בפרק זה תהיה לקבוע את מהירות התפסנית בכל נקודה במסלול .לאמור ,נרצה לשלוט במהירות המפרקים ,בכדי לקבל מהירויות רצויות בתפסנית .המעבר הזה ,בין המהירויות במפרקים למהירות התפסנית יתאפשר באמצעות מטריצת היעקוביאן )( (Jacobian Matrixמטרתנו השנייה היא לדון בסינגולאריות קינמטית של רובוט טורי .זו האחרונה תתרחש בעת שמטריצת היעקוביאן תהיה סינגולארית ,אך בזאת נעסוק רק בפרק הבא). עד כה עסקנו בקביעת טרנספורמציות הקינמטיקה הישירה וההפוכה .כאשר ההפוכה,כאמור, מאפשרת לנו לעקוב בעזרת התפסנית אחרי מסלול רצוי .כעת נרצה לקבוע גם את קצב התקדמות התפסנית לאורך המסלול .בהינתן מיקום ואוריינטציה תלויי זמן רצויים של יחידת הקצה , R t , dt נוכל לגזור את השניים לפי הזמן ולקבל את המהירות הקווית והמהירות הזוויתית Ωt , vt של התפסנית .מהמטריצה Ωt נסיק בהמשך מהי המהירות הזוויתית ω x , ω y , ω z ולבטאה כווקטור .מטרתנו נכון לעכשיו היא לבנות את T מטריצת היעקוביאן Jהמקיימת: כאשר d=6למקרה המרחבי ,ו d=3 -למקרה המישורי. הערה :למעשה מטרתנו היא ביצוע ליניאריזציה על הקינמטיקה הישירה .פעולה כזו נעשית באמצעות גזירת משוואות האילוץ של הרובוט לפי הזמן .נזכור שמשוואת האילוץ היא , QOUT FQin כאשר QOUT q1 , q 2 ,..., q n מסמן את קואורדינאטות התפסנית T המוכללות (סיבוביות או פריזמטיות( "ביציאה" ו QIN 1 , 2 ,..., m -את וקטור T ד"ר ניר שוולב מבוא לרובוטיקה הקואורדינאטות המוכללת (סיבוביות או פריזמטיות( "בכניסה" .כלומר זוהי מערכת משוואות מהצורה . qi Fi 1 , 2 ,..., m לפי גזירה הזמן תניב את השוויון: F Q IN JQ Qכאשר Jהיא מטריצת היעקוביאן .הביטוי המפורש שנקבל OUT IN Q IN t יהיה אם כן: F1 1 m t 2 t Fn m m t )(6.2 F1 2 dq1 F dt 1 dq 2 1 dt F2 1 Fn dq n 1 dt ערכי האלמנטים במטריצה אינם קבועים ומשתנים מקונפיגורציה לקונפיגורציה. דוגמא :עבור המכאניזם המישורי 1Rשבאיור ,הקינמטיקה הישירה נתונה ע"י צמד המשוואות . x Lc θ ; y Ls θנגזור אותן ונקבל . v x Ls θ θ ; v y Lc θ θכאשר θהיא המהירות הזוויתית במפרק כמו גם המהירות הזוויתית של יחידת הקצה .אם נרשום את שלשת המשוואות בצורה מטריצית נקבל: v x Lc θ v y Ls θ θכאשר וקטור "הכניסה" ω 1 z q 1 θהוא וקטור המהירויות הליניאריות והסיבוביות במפרקים ,ווקטור "היציאה" q n vx v v y ω ω z יהא וקטור המהירויות הליניאריות והסיבוביות של התפסנית .התבוננו Lc θ במטריצת היעקוביאן J Ls θ שבדוגמא ,היא תלויה בזווית ! θוכך תמיד יהיה ,ערכי 1 האיברים במטריצת היעקוביאן תלויים בקונפיגורציה ! דוגמא נוספת :כאמור ,הקינמטיקה הישירה של הרובוט המישורי RRנתונה ב: 89 91 ד"ר ניר שוולב מבוא לרובוטיקה x L1c1 L 2 c12 y L1s1 L 2 s12 θ θ1 θ 2 לשם פשטות נתעניין במיקום יחידת הקצה בלבד ונגזור את מערכת המשוואות בכדי לקבל את הביטוי ליעקוביאן: dx x 1 x 2 - L1s1 L 2 s12 1 L 2 s12 2 dt 1 t 2 t dy y 1 y 2 L1c1 L 2 c12 1 L 2 c12 2 dt 1 t 2 t L 2 s12 1 אם ננסח את מערכת המשוואות באופן מטריצי נקבל L 2 c12 2 - L s L 2 s12 v 1 1 L1c1 L 2 c12 באופן זה נוכל לחשב את היעקוביאן ,אך כיוון שבד"כ הגזירה מייגעת ואיננה יעילה נתמקד בהמשך הפרק במציאת דרך יותר מובנית למציאת היעקוביאן.12 נתון מיקום קבוע x 0במערכת התפסנית (כלומר זהו וקטור הרשום במערכת התפסנית וצמוד אליה) .במערכת העולם נוכל לכתוב yt R t x 0 dt למיקום אותה הנקודה. ) R(tהיא מטריצת הסיבוב התלויה בזמן ו d(t)-מיקום התפסנית שגם הוא תלוי בזמן .אם נגזור את yt נקבל את שוויון המהירויות t x d t . y t R 0 את ) R(tניתן לגזור ,איבר איבר .עם זאת ,נוכיח כעת משפט שיעזור לנו בהמשך לנסח ביטוי יותר פשוט ל , R t -ובסופו של דבר ,יאפשר לבטא את y t באופן יותר אלגנטי. טענה :עבור כל טרנספורמציה ( yt R t x 0 dt כאשר ) R(tמטריצת סיבוב ,וx 0 - הוא וקטור הרשום במערכת התפסנית ,צמוד אליה וקבוע בה) קיים וקטור ωהמייצג את מהירות הסיבוב של , R t ומתקיים השוויון: )(6.3 t x R ω yt - dt 12כיוון שלרובוט שטיפלנו בו יש רק מפרקים סיבוביים גזרנו לפי זוויות המפרקים .עבור רובוט כללי ,יופיעו ביעקוביאן גזירות גם לפי הפרמטרים של המפרקים הפריזמטיים שלו. 91 ד"ר ניר שוולב מבוא לרובוטיקה s 32 . S u s13 u מקיימתS 33 ראשית נשים לב שכל מטריצה אנטי סימטרית:הוכחה s 21 בכדי להיווכח בזה נשים לב שכל מטריצה אנטי סימטרית נראית בהכרח כך s32 ונסמן, s13 לשם נוחות נסמן את.ונחשב את שני צדי השוויון s 21 0 - s12 - s 13 s13 s 23 0 s12 0 - s 23 . S S נגזור את המשוואה. R R T I ולכןR T R -1 - ידוע שR נזכור שעבור כל מטריצת סיבוב לרשום נוכל ABT BT A T - כיוון ש. RR T RR T 0 R T -ש היא מטריצהR RT - R RT ונוכל להסיקR T ונקבל T RT - R T הזמן לפי RT - R T . R אנטי סימטרית עבור כל מטריצה : ונרשוםSω R R T -לאור האמור נוכל להסיק ש R t x R t I x R t R T t R t x Sω R t x ω yt - dt I . yt R t x 0 dt לקבלת השוויון האחרון השתמשנו בקשר yt R t x 0 כלומרZ נתמקד בטרנספורמציית סיבוב סביב ציר :דוגמא cosφt - sin φt 0 x xcos φt ysinφt נחשב. R t x sin φt cosφt 0 y xsin φt ycosφt ומפורשות 0 0 1 z z 0 היא אמנםω 0 φ 1 0 -1 0 T T נוכל להיווכח כיSω R R ע"פR t R t 1 0 0 φ 0 0 0 92 ד"ר ניר שוולב מבוא לרובוטיקה - sinφ - cosφ 0 x - xsinφ ycosφ כעת R t x φ cosφ - sinφ 0 y φ xcos φ ysinφ 0 0 0 z z סיבוב סביב ציר .Z ˆi ˆj kˆ - xsinφ ycosφ ω yt כצפוי, 0 0 ומצד שני φ φ xcos φ ysinφ xcosφ ysinφ xsinφ ycosφ z 0 התקבל שוויון. כעת ,משברשותנו האפשרות לבטא את השפעת המהירות הזוויתית על מהירות יחידת הקצה, נפנה לכתיבה מפורשת של היעקוביאן .כל מפרק ברובוט תורם תנועה סיבובית או ליניארית ליחידת הקצה .מתמטית נוכל להיווכח בכך אם נרשום את משוואה ( )9.6כ- q J L n 1 J A n q n J L2 J A2 v J L1 כאשר ω J A2 i J L , J Aמייצגים את היעקוביאן המתאימים i בהתאמה. נוכל גם למהירות הסיבובית ולמהירות הליניארית J J v J L1 q 1 L2 q 2 Ln q n ונקל להבין שכל פרמטר מפרק JA JA ω J A2 2 n לרשום q iתורם למהירות הליניארית והסיבובית של התפסנית .ברור שתרומת מפרק סיבובי תהא שונה באופייה מזו של מפרק פריזמטי .נפרוט ,אם כן ,את התרומה למהירות יחידת הקצה כפי שנתרם ממפרק פריזמטי או מפרק ליניארי. סימון :וקטור יחידה בכיוון הציר של המפרק ה i-כמתואר באיור הבא יסומן ב . bˆ i-1וקטור כזה נתאר במערכת עולם .הוקטור ,מראשית מערכת ה )i-6( -לראשית התפסנית כמודגם באיור הבא ,יסומן ב . ri-1וקטור כזה נתאר במערכת עולם. הווקטורים הרלוונטים לחישוב היעקוביאן עבור מפרק סיבובי וליניארי ד"ר ניר שוולב מבוא לרובוטיקה יקל עלינו להבין כיצד יראה הביטוי לתרומת המהירות הקווית ,אם נרשום רק את השוויון v J L1 q 1 J L2 q 2 J Ln q nלמהירות הקווית של התפסנית. נניח ללא הגבלת הכלליות שהמפרק } {iפריזמטי .במקרה זה התוספת למהירות הקווית של התפסנית vתהיה פשוט מהירות המפרק ( d iאם נקבעַ את כל שאר המפרקים ,תהיה מהירות התפסנית בדיוק מהירות המפרק) ,כלומר . J Li q i bˆ i-1 d iומכאן . J L i bˆ i -1נניח כעת שהמפרק } {jסיבובי .במקרה זה התוספת למהירות הקווית של התפסנית vתתקבל מהנוסחה ( ,)9.0כלומר :אם מהירות הסיבוב של המפרק נתונה כ q j ω j φ -אזי J L q j ω j rj-1 φ bˆ j-1 rj-1כלומר . J L bˆ j-1 rj-1 j j באותו אופן נרשום רק את הביטוי לתרומת המהירות הזוויתית ω J L1 q 1 J An q nשל התפסנית. נניח שוב שהמפרק } {iפריזמטי .במקרה זה אין תוספת למהירות הזוויתית של התפסנית ω ולכן ( J Ai 0להמחשה ,דמיין קובייה המונחת על שולחן ,האם הזזת השולחן תגרום לסיבוב הקובייה?) .ושוב נניח שהמפרק } {jסיבובי .במקרה זה התוספת למהירות הקווית של התפסנית תהא ( J A q j w j φ bˆ j-1להמחשה ,מהי מהירות הסיבוב של קרוסלה אשר j בעצמה מקובעת לקרוסלה?) כלומר . J A bˆ j-1לסיכום ,עמודה במטריצת היעקוביאן תהיה: J Li bˆ i-1 J L j bˆ j-1 rj1 )(6.4 JA 0 J A bˆ j-1 i j j עבור המקרה הפריזמטי עבור המקרה הסיבובי לדוגמא :עבור רובוט מישורי ,בעל מפרקים סיבוביים ,כל -biים הם בכיוון ,Zולכן המהירות הזוויתית של התפסנית ωהיא סכום המהירויות הזוויתיות θ 1 ,, θ nשל כל המפרקים. ω J L1 q 1 J A n q n 1θ 1 1θ 2 1θ n . לאור ( )9.9ברור שהאתגר העיקרי בכתיבת היעקוביאן הוא בחישוב הווקטורים . bˆ j-1, rj1 בכדי להקל על הבחירה שלהם נוכל להיעזר במבנה המטריצה המייצגת את הקינמטיקה הישירה. 93 94 ד"ר ניר שוולב מבוא לרובוטיקה הביטו במשוואות ( )9.6ו .)9.6(-כזכור ,העמודה הרביעית (תסומן כ )0Pi -במטריצה Ti 0 מסמנת את המיקום של המערכת ,iיחסית לעולם .ולכן .ri = 0Pn-oPnעוד נזכור שהעמודה השלישית מסמנת את כיוון ציר Ziבמערכת העולם ,כלומר זהו הוקטור .bi px py pz 1 )(6.5 ax ay az 0 0 0 Ti 0 וכאמור: )(6.6 כאשר: ri 0 p n - 0 p i )(6.7 וניקח תמיד: 0 0 0 P0 0 ; b 0 0 0 1 )(6.8 צירוף נוסחאות ( )9.1( )9.3(,)9.9(,)9.5(,)9.9מאפשר חישוב מלא של מטריצת היעקוביאן מתוך ידיעת הקינמטיקה הישירה. תרגיל :6.4מצא את היעקוביאן של הרובוט RRהמישורי המודגם באיור שלעיל .רשום את המשוואה הקושרת בין המפרקים למהירויות התפסנית. מהירות תשובה :הביטו באיור ,1להצבת מערכות הקואורדינאטות, טרנספורמציות הקינמטיקה הישירה הן: 0 L 2c 2 0 L 2s 2 1 0 0 1 - s2 c2 0 0 0 L1c1 c2 0 L1s1 1 s2 ; T 2 0 1 0 0 0 1 c1 - s1 s c1 0 T1 1 0 0 0 0 ד"ר ניר שוולב 95 מבוא לרובוטיקה c12 - s12 c12 s 1 0 0 T2 T1 T2 12 0 0 0 0 0 L1c1 L 2 c 2 0 L1s1 L 2s 2 1 0 0 1 0 0 0 L1c1 0 . P0 0 ; b 0 0 -) יודעים ש9.3( - ּומb1 0 - וp1 L1s1 נקבל0 T1 -ולכן מ 1 0 1 0 0 :) יודעים ש9.9( מנוסחה L1c1 L 2c 2 r0 P2 P0 L1s1 L 2s 2 ; 0 0 0 L 2 c12 r1 P2 P1 L 2s12 0 0 0 ;)9.0( נפנה עתה לנוסחה.עד כה חישבנו את כל הוקטורים הנחוצים לנו לבניית היעקוביאן J L j bˆ j-1 rj1 : מפרקים סיבוביים אנו יודעים כי9 כיוון שהרובוט שלפנינו בנוי עבור J A bˆ j-1 j : נחשב אם כך. j=1,2 ˆi ˆj kˆ - L1s1 L 2s12 b 0 r0 0 0 1 L1c1 L 2 c12 L c L c L1s1 L 2s12 0 0 1 1 2 12 ˆj ˆi kˆ L 2s12 b1 r1 0 0 1 L 2 c12 Lc L 2s12 0 0 1 12 bˆ j-1 rj1 היעקוביאן שקיבלנו יהא בנוי משתי עמודות במבנה :) (עמודה לכל מפרק bˆ j-1 - L1s1 L 2s12 L1c1 L 2 c12 0 J 0 0 1 L 2s12 L 2 c12 0 0 0 1 62 מבוא לרובוטיקה 96 ד"ר ניר שוולב כאמור ,היעקוביאן מקשר בין מהירות התפסנית למהירות המפרקים. - L1s1 L 2s12 L1c1 L 2 c12 0 v 0 ω 0 1 L 2s12 L 2 c12 0 1 0 2 0 1 כיוון שאנו מתעניינים רק במהירויות במישור התפסנית (הרובוט מישורי) ,נוכל להסתפק L 2s12 בשתי השורות הראשונותL 2 c12 1 : 1 2 - L1s1 L 2s12 v . L1c1 L 2 c12התוצאה זהה לזו ω 1 שחישבנו בדוגמא שבתחילת הפרק. תרגיל :6.5בשרטוט הבא נתון הרובוט המרחבי ,RRPשנדון בתרגילים .5.5 ,9.5מצא את היעקוביאן של הרובוט .רשום את המשוואה הקושרת בין מהירות המפרקים למהירויות התפסנית. פתרון :מתוך הקינמטיקה הישירה שקיבלנו בתרגיל 5.9נרשום: L1c1 L1s1 L0 1 - c1s 2 s1 - s1s 2 c1 - c2 0 0 0 c1c 2 s c 0 T2 1 2 -s 2 0 L1c1 L1s1 ; L0 1 c 1s 2 L 2 L 1 c 1 s 1s 2 L 2 L 1s 1 c2L2 L0 1 s1 0 c1 0 0 c 1s 2 s 1s 2 s1 c1 c2 0 0 0 לכן ,מנוסחאות ( )9.3(,)9.9(,)9.5(,)9.9נקבל: 0 1 0 c1 s 0 T1 1 0 0 c1 c 2 s s 0 T3 1 2 s 2 0 97 ד"ר ניר שוולב 0 מבוא לרובוטיקה 0 b0 0 1 0 0 P0 0 0 , , 0 s1 b 1 - c1 0 , 0 L1 c1 0 P1 0 P2 L1 s1 L 0 c 1s 2 b 2 s 1s 1 - c 2 , c 1s 2 L 2 L 1 c 1 0 P3 s1s 2 L 2 L1s1 c L L 0 2 2 :וכן c 1s 2 L 2 L 1 c 1 r0 p 3 p 0 s1s 2 L 2 L1s1 ; c L L 0 2 2 0 0 c1s 2 L 2 r1 r2 p 3 p1 s1s 2 L 2 c L 2 2 0 0 מפרקים סיבוביים ולאחריהם מפרק9 כיוון שהרובוט שלפנינו בנוי.)9.0( נפנה עתה לנוסחה J L j bˆ j-1 rj1 ,פריזמטי עבור שתי העמודות הראשונות והעמודה השלישית תהא J A bˆ j-1 j J Li bˆ i-1 : לכן נחשב. JA i 0 - L 2 s1s 2 L1 s1 b0 r0 L 2 c1c 2 L1c1 0 L 2 c1c 2 ; b1 r1 L 2 s1s 2 L s 2s L c 2s 2 1 2 2 1 2 :בסה"כ קיבלנו - L 2 s 1s 2 L 1s 1 L 2 c1 c 2 L 1 c1 0 J 0 0 1 L 2 c1 c 2 L 2 s 1s 2 L 2s 2 s1 - c1 0 c 1s 2 s 1s 2 - c2 0 0 0 36 :הקשר בין המהירויות במפרקים למהירויות התפסנית נתון אם כן במשוואה מבוא לרובוטיקה 98 ד"ר ניר שוולב c 1s 2 s 1s 2 θ1 - c 2 θ 2 0 L3 0 0 - L 2 s 1s 2 L 1s 1 L 2 c1 c 2 L 1 c1 0 v 0 ω 0 1 L 2 c1 c 2 L 2 s 1s 2 2 2 L 2 s 1 s 2 L 2 c1 s 2 s1 - c1 0 תרגיל :6.6בשרטוט הבא נתון הרובוט המרחבי .RRPמצא את היעקוביאן של הרובוט .מהו הקשר בין המהירויות במפרקים למהירותה הקווית של התפסנית? תשובה :בתרגיל מרשימת התרגילים הנוספים בפרק 9רשמנו את הטרנספורמציות : 0 T1 , 0 T2 , 0 T3 0 0 ; L1 1 c 1s 2 s 1s 2 - c2 0 0 c1 c 2 s 1 0 0 s 1s 2 - c 1 ; T 2 s L1 0 2 1 0 0 s 1 c 1s 2 L 2 c 1s 2 - c 1 s 1s 2 L 2 s 1s 2 L1 L 2 c 2 1 0 0 - c2 0 0 s1 0 - c1 1 0 0 0 c1 s 0 T1 1 0 0 c1 c 2 s c 0 T3 1 2 s 2 0 מנוסחאות ( )9.3(,)9.9(,)9.5(,)9.9נקבל באותו האופן: c 1s 2 L 2 r1 r2 p 3 p1 s1s 2 L 2 c L 2 2 0 c 1s 2 b 3 s 1s 2 c 2 0 c 1s 2 L 2 ; r0 p 3 p 0 s1s 2 L 2 L c L 1 2 2 0 c 1s 2 ; b 2 s1 s 2 c 2 0 0 ; s1 b 1 - c1 0 0 ; 0 0 b0 0 1 0 שימו לב שנרמָּ לְ נו את הווקטור 0 b 0כך שיהא בגודל יחידה .כמו בשאלה הקודמת ,לפנינו רובוט בעל 9מפרקים סיבוביים ולאחריהן מפרק פריזמטי .לכן עבור המפרק הסיבובי ד"ר ניר שוולב מבוא לרובוטיקה bˆ 1 r1 bˆ 0 r0 הראשון ,העמודה הראשונה והשנייה ביעקוביאן תהיינה , בהתאמה, ˆˆ b b 0 1 L 2 c1 c 2 - L 2 s 1s 2 bˆ והשלישית . 2 נחשב ונקבל b 0 r0 L 2 c1s 2 :וכן . b1 r1 L 2 s1c 2 הביטוי 0 L s 0 2 2 ליעקוביאן יהיה: c 1s 2 s 1s 2 - c2 0 0 0 L 2 c1 c 2 L 2 s1c 2 L 2s 2 s1 c1 0 - L 2 s 1s 2 L 2 c 1s 2 0 J 0 0 1 שלשת השורות התחתונות ביעקוביאן מתארות את הקשר בין המהירויות במפרקים למהירות הזוויתית של התפסנית ,בעוד ששלשת השורות הראשונות ב J-מתארות את הקשר בין המהירויות במפרקים למהירותה הקווית של התפסנית: c1 s 2 θ 1 s1 s 2 θ 2 - c 2 L 2 L 2 c1 c 2 L 2 s1c 2 L 2s 2 - L 2 s 1s 2 v L 2 c 1s 2 0 תרגיל :6.1בשרטוט הבא נתון הרובוט המרחבי (.RPPא) מהו מרחב העבודה של הרובוט ,מהו ה( ? dexterity space-ב) מקמו מערכות צירים( .ג) מלאו טבלת ְ פרמטרי .DH (ד) מצאו ביטויים לקינמטיקה הישירה( .ה) מצאו את הקינמטיקה ההפוכה עבור הדרישה למיקום התפסנית והאוריינטציה שלה יחסית לציר Zבלבד( .ו) חשבו את מטריצת היעקוביאן. 99 111 ד"ר ניר שוולב מבוא לרובוטיקה תשובה( :א) מרחב העבודה הינו טבעת מישורית בגובה L1עם רדיוס 2 , L 2 L 3כאשר 2 L 2 , L 3נעים בין ערכיהם המקסימאליים והמינימאליים .ה dexterity space-יהיה ריק אלא אם כן ערכי המפרקים הפריזמטיים L 2 , L 3יכולים להתאפס ,או אז יהיה הdexterity-space- הנקודה המרכזית מעל הבסיס( .ב,ג) הקינמטיקה הישירה נתונה כ: Θi αi ai di 1 Θ1 -90º 0 L1 2 -90º 90º 0 L2 3 0 0 0 L3 (ד) מהצבה בנוסחה ( )9.9נקבל: 0 0 0 1 L3 0 0 1 0 0 1 0 s1 L 2 c1L 2 ומכאן: L1 1 (ה) 1 0 2 T3 0 0 c1 s1 0 0 0 0 ; L2 1 0 -1 0 0 0 0 1 0 0 -1 1 T2 0 0 0 0 ; L1 1 L3 c1 s1L 2 0 s1 s1L 3 c1L 2 0 0 c1 ; T 2 1 0 L1 0 0 1 0 s1 0 - c1 0 0 c1 s1 0 0 1 0 c1 s 0 T1 1 0 0 0 s1 0 c1 0 T3 1 0 0 0 T בהינתן המיקום p x , p y , p z והאוריינטציה φביחס לציר Zהרצויים נוכל לרשום את מערכת המשוואות: p x L 3 c1 s 1 L 2 p y s 1 L 3 c1 L 2 p z L1 φ θ1 ד"ר ניר שוולב מבוא לרובוטיקה אם נעלה את שתי המשוואות הראשונות בריבוע ונחבר נקבל p x p y L 3 L 2 :אם 2 2 2 2 הפרמטרים הפריזמטיים יכולים לקבל ערכים שליליים ,כלומר ישנן אינסוף אפשרויות לפתרון. (ו) מנוסחאות ( )9.1( )9.3(,)9.9(,)9.5(,)9.9נקבל באותו האופן: c1 0 s1 0 0 ; b 0 0 ; b 1 c1 ; b 2 s 1 0 1 0 c1 L 3 s1 L 2 0 0 r0 p 3 p 0 s1 L 3 c1 L 2 L1 0 bˆ 0 r0 עבור המפרק הסיבובי הראשון ,העמודה הראשונה ביעקוביאן תהיה , השנייה ˆ b 0 bˆ 2 והשלישית תהיינה 0 bˆ 1 0 . נחשב ונקבל: L 3 s1 L 2 c1 . b0 r0 - L 3 c1 - L 2 s1 הביטוי 0 ליעקוביאן יהיה: c1 s1 0 0 0 0 s1 c1 0 0 0 0 L 3 s1 L 2 c1 - L 3 c1 - L 2 s1 0 J 0 0 1 כיוון שהתנועה מישורית למעשה (שימו לב שהשורה השלישית ב J-מתאפסת) ,נוכל לרשום בקיצור: c1 θ 1 s1 L 2 0 L 3 s1 c1 0 L 3 s1 L 2 c1 v - L 3 c1 - L 2 s1 ω 1 111 מבוא לרובוטיקה 112 ד"ר ניר שוולב הערה :נשים לב שבמספר לא מבוטל של מקרים היעקוביאן Jאינה מטריצה ריבועית ולכן אינה הפיכה .לכן ,הקשר J -1 Xאינו מתקיים בהרבה מקרים .במילים אחרות ,אם OUT X IN לדוגמא לרובוט מרחבי מספר מפרקים הקטן מ ,9-במקרים רבים לא קיים אוסף של מהירויות במפרקים שייתנו בדיוק את המהירות הרצויה ביחידת הקצה. אם נתעניין רק בחלק מהפרמטרים המייצגים את המהירות ,נוכל לאלץ את המטריצה להיות ריבועית ,כפי שאמנם נהגנו במספר מקרים בפרק .אולם ,אם אנו מעוניינים בכל הפרמטרים המייצגים את המהירות (מהירות ליניארית וסיבובית לכל הכיוונים ,ובמהירויות כל המפרקים כולם) ,נאלץ לעשות משהו אחר. למעשה נרצה לבחור את הפתרון המתאים ביותר .לשם כך משתמשים במטריצת הפסאודו אינברס ()Moore-Penrose pseudo inverse Jהריבועית ,המחשבת את הפתרון המיטבי עבור מערכת משוואות ליניאריות . Xכלומר זוהי הכללה של המטריצה ההופכית למקרה שזו אינה קיימת. OUT JX IN המטריצה מוגדרת ויחידה לכל :J )(6.9 -1 J lim J T J I J T 0 אם ידוע שהעמודות של Jבלתי תלויות ליניארית ,מתקבל הביטוי: )(6.10 -1 J JTJ JT אם ידוע שהשורות של Jבלתי תלויות ליניארית ,מתקבל הביטוי (זהו המקרה השכיח ביותר ברובוטיקה): )(6.11 -1 J J T JJ T במקרה שגם השורות וגם העמודות בלתי תלויות ליניארית ,מתקיים כמובן השוויון: )(6.12 J J -1 תרגילים נוספים 6.6חשב את היעקוביאן עבור הרובוט RRRהמרחבי שבאיור . ( 6.7א) חשב את היעקוביאן עבור הרובוט RPR המרחבי שבאיור( .ב) רשום את הקשר בין ד"ר ניר שוולב מבוא לרובוטיקה מהירויות התפסנית למהירות המפרק הפריזמטי. תשובה: - L 3 s12 (א) L 3 c12 1 L 0 s1 L1s1 L 2 c1 L 3s12 s1 J L 0 c1 L1 c1 L 2 s1 L 3 c12 c1 1 0 x s1 (ב) . y c1 L 2 φ 0 מצא את מטריצת היעקוביאן עבור הרובוט: .9.1 תשובה: 6.9מצא את מטריצת היעקוביאן עבור הרובוט מהשאלה הקודמת באמצעות פעולת גזירה. 6.11 כתוב תוכנית מחשב עבור הרובוט המישורי RR שבתמונה (החוליות שוות באורכן) ,המחשבת את מהירויות המפרקים ( 1 , 2ראה תרשים) עבור תנועה בקצב קבוע של יחידת הקצה במסלול ABCDכמוצג באיור .בנקודות D,Aחוליות הרובוט מתוחות לחלוטין. 6.11 קונפיגורציה איזוטרופית )(Isotropic (ראה [ )]61[,]63היא קונפיגורציה (מצב של כולם העמודות וקטורי בה הרובוט) אורתוגונאליים אחד לשני וגודלם שווה .מצב זה הוא היעיל ביותר מבחינת העברת הכוח מהמנועים ליחידת הקצה .במצב זה אין עדיפות לשום כיוון תזוזה של יחידת הקצה מבחינת "קלות יצירת התנועה" .מצא את הנקודות האיזוטרופיות (אם קיימות) עבור הרובוט שנבחן בשאלה .9.6 113 114 ד"ר ניר שוולב מבוא לרובוטיקה תשובה :תהיינה קונפיגורציות איזוטרופיות אם מתקיים הקשר . L 2 L1 / 2במצב זה הקונפיגורציות האיזוטרופיות תהיינה אלו אשר . 2 1350 9.66חשב את היעקוביאן מתרגיל 9.0באמצעות גזירה. 9.69חשב את היעקוביאן מתרגיל 9.9באמצעות גזירה. 9.60מצא את מטריצות היעקוביאן בממד 6x3עבור הרובוטים: תשובה: 0 c1 0 s1 1 0 0 0 0 0 0 0 1 1 L 3 s1 0 1 L 3 c1 0 0 ,J 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 J 0 0 0 ד"ר ניר שוולב מבוא לרובוטיקה .3סינגולאריות קינמטית נתמקד ,לרגע ,במקרה המנוון בו מטריצת היעקוביאן Jסקלארית ,כלומר במצב בו הפרמטרים של מהירות התפסנית מתקבלים מהכפלת הפרמטרים של מהירויות המפרקים בסקלר . Qהניחו כעת כי עבור קונפיגורציה מסוימת ערכו של היעקוביאן קרוב OUT JQ IN לאפס .במצב כזה כל בחירה של מהירויות הפרמטרים של הכניסה תתבטא במהירות זניחה בתפסנית .במילים אחרות ,אם באותה קונפיגורציה קרובה לסינגולאריות נרצה להזיז את 1 התפסנית בכיוון מסוים QOUT Q IN J אולי אף מעל לטווח האפשרויות הפיזי של המפעילים .במצב המנוון שתיארנו ככל שערך ,נאלץ להזין מהירויות גדולות מאוד במפרקים, היעקוביאן יתקרב לאפס כך נִמָּ צֵ א ב"בעיה" גדולה יותר ,כלומר ,הבעיה היא באי-ההפיכות של היעקוביאן. במצב יותר כללי בו המטריצה Jהיא ריבועית ובגודל שרירותי ,הקונפיגורציה נקראת "סינגולארית" ) (Singular Configurationאם הדטרמיננטה שלה מתאפסת .במקרה כזה, קיימת תלות ליניארית ji1 , ji2 ,.., jin jk1, jk2 ,.., jkn בין העמודות (גם השורות) ביעקוביאן .נבחן מה קורה אז: עבור קונפיגורציה רגולרית (שאינה סינגולארית) כל מפעיל (סיבוב ,תנועה ליניארית ,וכו') גורר מימד חדש בתנועת התפסנית (תנועה ליניארית בכוון ,x,y,zתנועה סיבובית בכיוון x,y,z או שילובים ליניאריים של הנ"ל). בקונפיגורציה סינגולארית ,מאידך ,התלות הליניארית גוררת מצב בו שני מפרקים מאפשרים מהירות תנועה של התפסנית באותו מימד .במילים אחרות שני מפרקים תורמים תנועה זהה לתנועת התפסנית. 115 116 ד"ר ניר שוולב מבוא לרובוטיקה באופן זה איבדנו מימד בתנועה – איבדנו דרגת חופש של תנועה. דוגמא :נביט ברובוט PRRהמאויר משמאל .מרחב העבודה של הרובוט הוא טבעת גלילית עם רדיוס פנימי L 2 L 3וחיצוני . L 2 L 3עבור נקודה שרירותית בתוך מרחב העבודה נוכל להזיז את התפסנית לכל כיוון כרצוננו -תוך שילובים מתאימים של מהירויות בשני המפרקים הסיבוביים לקבלת מהירות כלשהי במישור ,והזנת מהירות רצויה בכיוון Zלמפרק הליניארי. עבור נקודה במעטפת העבודה ,כלומר בנקודות בהן שתי החוליות האחרונות מתוחות ,לא נוכל לקבל תנועה רגעית בכיוון רדיאלי .במילים אחרות ,לא נוכל "ליצור" מהירות של יחידת הקצה פנימה ובוודאי שלא החוצה .נקל להבין את הטיעון אם נביט על האפשרויות לתנועה העומדות לרשות כל אחת מן החוליות בנפרד :עבור קונפיגורציה נתונה קצה החוליה הסיבובית הראשונה מסוגל לתנועה אינפיטיסימאלית במאונך לחוליה (ראה חץ באיור) .גם קצה החוליה השנייה מסוגל לתנועה (מהירות) במאונך לכיוונו (ראה חץ באיור) .באופן זה ברור שהתנועה הרגעית עבור קונפיגורציה רגולרית פורשת את מישור התנועה ,בעוד שעבור קונפיגורציה סינגולארית של הרובוט -בה שתי החוליות מיושרות -מהירות התפסנית היא הכיוון המאונך לכיוון היישור בלבד .וכך הפסדנו מימד לתנועת התפסנית. פורמאלית ,הקינמטיקה הישירה היא העתקה ממרחב הפרמטרים של הכניסה INלמרחב הפרמטרים OUTשל יחידת הקצה . F : IN OUTהיעקוביאן התקבל כאמור מגזירת ההעתקה ,Fולכן (המרחבים איקלידיים) קיבלנו העתקה מהמרחב המשיק T INלמרחב המשיק . TOUT J : TIN TOUT הכוונה היא למרחב המהירויות של המפרקים ולמרחב המהירויות של יחידת הקצה בהתאמה .פן מעניין בתופעת הסינגולאריות הוא ,שכאשר מטריצת היעקוביאן אינה מדרגה מלאה (סינגולארית) ,כלומר איננה העתקה על אז קיים תת מרחב q TINשאיננו ריק כך ש , J : q 0כלומר קיים תת מרחב של מהירויות במפרקים שאינן באות לידי ביטוי במהירות יחידת הקצה .הטענה הזו שקולה לטענה שבקונפיגורציה סינגולארית אנו "מאבדים" דרגת חופש. הערה :נשים לב שהתייחסות שלנו היא למהירויות ולתנועה רגעית בלבד .יטען הקורא הנאיבי בטעות שאם המהירות ביחידת הקצה מתאפסת ,היחידה תהיה "תקועה" כי הרי אינה יכולה להתקדם ! טעותו נעוצה בעובדה שאמנם הנגזרת הראשונה של המיקום מתאפסת (המהירות) ,אבל אין ערובה לכך שהנגזרת השנייה והבאות אחריה מתאפסות .אלו בתורן יגרמו לתזוזה המיוחלת ,שכן פיתוח טיילור למיקום נתון כ- ד"ר ניר שוולב מבוא לרובוטיקה x(0) 2 t 2 דוגמא :עבור מפרק אוניברסלי כדוגמת מפרק הצוואר (בהנחה שהטיית הצוואר ימינה x ( t ) x (0) x (0) t ושמאלה אינה אפשרית) ,נוכל להדגים קונפיגורציה סינגולארית אם נביט בסדרת התמונות שלמטה .נניח ונרצה להביט במעוף ציפור הנעה במהירות קבועה מצפון דרומה ,ומסלולה עובר בדיוק בנקודת הזנית (מעלינו) .בכדי לעקוב אחרי הציפור נשמור על כיוון מבטנו צפונה (קטע א-ב בתמונה) ,בעוד שאת ראשנו נצודד ביחס לאופק עוד ועוד עד לאותו הרגע בו הציפור נמצאת בדיוק מעלינו .או אז נאלץ לסובב מהר את ראשנו מצפון לכיוון דרום (קטע ב-ג בתמונה) ,ולהמשיך לעקוב אחרי מעופה דרומה (קטע ג-ד בתמונה) .כדי לעקוב באופן רציף אחרי הציפור נאלצנו לסובב את ראשנו במהירות אינסופית בנקודת הזנית – זוהי הנקודה הסינגולארית .נשים לב שבנקודה הזו "הפעלנו מנוע" ולא קרה כלום מבחינת מהירות יחידת הקצה (העיניים) ,כמצופה. בכדי להקל על החישובים ,אם לא נציין אחרת ,נתייחס בקורס אך ורק למהירות של התפסנית (נתעלם מהמהירות הזוויתית) כשנדבר על סינגולאריות ,וכך מתוך Jnx6נתייחס רק לתת-המטריצה העליונה .Jnx3בכדי לאתר את הקונפיגורציות הסינגולאריות נבדוק מתי מתאפסת הדטרמיננטה של היעקוביאן (זכרו ,לכל קונפיגורציה של הרובוט ערכי האלמנטים ביעקוביאן שונים) .כיוון שהדטרמיננטה מוגדרת עבור מטריצות ריבועיות Jבלבד ,13במקרה שהיעקוביאן אינו ריבועי "נרבע" אותו ע"י חישוב הדטרמיננטה של ( JJ Tהקורא המתעניין בסיבה הפורמאלית לחישוב זה יפנה לפרק 63הדן במדדים). 13עבור רובוטים יתירים כרובוטים נחשיים (ראה לדוגמא תרגיל בנספח ג') מטריצת היעקוביאן J mn איננה ריבועית ( .)m<nבמצב זה הדטרמיננטה כמובן אינה קיימת .התנאי לסינגולארית במצב זה יהא ששורות היעקוביאן Jתהיינה תלויות לינארית .בדומה למצב בו Jריבועית ,כך גם במצב הלא ריבועי שוב מאבדת התפסנית דרגת חופש אחת לפחות. 117 מבוא לרובוטיקה 118 ד"ר ניר שוולב תרגיל :8.4עבור הרובוט RRPהמרחבי שבתרגיל 96 מצא את הקונפיגורציות הסינגולאריות עבור המיקום והאוריינטציה .דון בהן. תשובה :כפי שעשינו בתרגיל ,91שלשת השורות התחתונות ביעקוביאן מתארות את הקשר בין המהירויות במפרקים למהירות הזוויתית של התפסנית .לעומת זאת ,שלשת השורות הראשונות ב J-מתארות את הקשר בין המהירויות במפרקים למהירותה הקווית של c1 התפסנית ,לכן קיבלנו s1 : 0 s1 c1 0 L 3 s 1 L 2 c1 . J - L 3 c1 - L 2 s 1 1 כיוון שהדטרמיננטה של היעקוביאן קבועה ושווה ל 6-לכל קונפיגורציה ,אין לרובוט נקודות סינגולאריות. תרגיל :8.5עבור הרובוט RRPהמרחבי שבתרגיל 91מצא את הקונפיגורציות הסינגולאריות ודון בהן. תשובה :קיבלנו זה מכבר c1 s 2 θ 1 s1 s 2 θ 2 - c 2 L 2 L 2 c1 c 2 L 2 s1c 2 L 2s 2 - L 2 s 1s 2 v L 2 c 1s 2 0 לאחר חישוב הדטרמיננטה ומעט טריגונומטריה נקבל . det(J) 2 L 2 2 s 2 :נשווה לאפס ונקבל אחת מהאפשרויות: , L 2 0כלומר התפסנית נמצאת בדיוק מעל הבסיס בנקודת המפרק השני .הפעלת המנועים הסיבוביים הראשונים לא משנה את מיקום התפסנית. , s 2 0כלומר θ 2 0, πוהחוליה השלישית נמצאת בכיוון ציר . Zגם במצב זה הפעלת המנועים הסיבוביים הראשונים לא משנה את מיקום התפסנית. תרגיל :8.6נתון הרובוט שנדון בתרגיל ,5.3מצא את היעקוביאן ודון בקונפיגורציות הסינגולאריות שלו. 119 ד"ר ניר שוולב מבוא לרובוטיקה : ידוע כי5.3 על פי התוצאות שהתקבלו בתרגיל:תשובה c1 0 s 1 s 0 c1 0 T1 1 0 1 0 0 0 0 0 0 ; L1 1 c1 c 2 s c 0 . T3 1 2 s 2 0 c1 c 2 s c 0 T2 1 2 s 2 0 s 1 c 1s 2 - c 1 s 1s 2 c 1s 2 s 1s 2 0 0 c2 0 s1 - c1 c 1s 2 s 1s 2 0 0 c2 0 c1 c 2 L 2 s1c 2 L 2 ; L 2 s 2 L1 1 L 3 c 1s 2 c 1 c 2 L 2 L 3 s 1s 2 s 1 c 2 L 2 L 3 c 2 L 2 s 2 L1 1 :) נקבל9.3(,)9.9(,)9.5(,)9.9( מנוסחאות L 3 c 1s 2 c 1 c 2 L 2 r0 p 3 p 0 L 3s1s 2 s1c 2 L 2 ; L c L s L 3 2 2 2 1 0 0 0 0 b0 0 1 ; 0 L 3 c1s 2 c1c 2 L 2 r1 r2 p 3 p1 L 3s1s 2 s1c 2 L 2 L c L s 3 2 2 2 s1 b 1 c1 0 0 ; 0 0 c1s 2 b 2 s1s 2 c 2 לכן עבור המפרק הסיבובי. מפרקים סיבוביים ואחריהם מפרק פריזמטי9 הרובוט הוא בעל bˆ 1 r1 bˆ 0 r0 העמודה הראשונה והשנייה ביעקוביאן תהיינה,הראשון , , בהתאמה ˆ bˆ b 0 1 :הבאות התוצאות את יניב חישוב bˆ . 2 0 והשלישית ואילו c1 L 3 c 2 L 2 s 2 L 3 s 1s 2 s 1 c 2 L 2 . b1 r1 s1 L 3 c 2 L 2 s 2 וכןb 0 r0 L 3 c1s 2 c1c 2 L 2 L 3s 2 c 2 L 2 0 : אם כן,הביטוי ליעקוביאן יהיה מבוא לרובוטיקה 111 ד"ר ניר שוולב c1 L 3 c 2 L 2 s 2 c1s 2 s1 L 3 c 2 L 2 s 2 s1s 2 L 3s 2 c 2 L 2 c2 s1 0 c1 0 0 0 L 3 s 1s 2 s 1 c 2 L 2 L 3 c 1s 2 c 1 c 2 L 2 0 J 0 0 1 נצמצם את התייחסותנו לחלקים המתייחסים למהירויות הליניאריות של התפסנית ,כלומר: c1 L 3 c 2 L 2 s 2 c1s 2 s1 L 3 c 2 L 2 s 2 s1s 2 L 3s 2 c 2 L 2 c 2 L 3 s 1s 2 s 1 c 2 L 2 J L 3 c1s 2 c1c 2 L 2 0 נחשב את הדטרמיננטה ונקבל . det J L 3 c 2 L 2 L 3s 2 הביטוי מתאפס באחד מהמצבים הסינגולאריים הבאים: L 3 0מתאר מצב בו המפרק הפריזמטי מתאפס. L2 L3 tanθ 2 מתאר קונפיגורציה בה יחידת הקצה ניצבת בדיוק על ציר ( Zראה איור :פונה מעלה או מטה) .במצב זה מהירות זוויתית במפרק הסיבובי שבבסיס לא יגרור מהירות ביחידת הקצה. בכדי להבין מה קורה למעשה במקרה הראשון נציב L 3 0ליעקוביאן ונקבל: c 1s 2 s 1s 2 c 2 L 2 c 1s 2 L 2 s 1s 2 c2L2 L 2 s1c 2 J L 2 c1 c 2 0 כעת ,נמצא את גרעין היעקוביאן ,או את תת המרחב , x, y,z Tשהכפלת היעקוביאן בו J x, y,z T 0תניב את וקטור האפס: c 1s 2 0 0 s 1s 2 1 0 c 2 L 2 0 L 2 c 1s 2 L 2 s 1s 2 c2L2 L 2 s1c 2 L 2 c1 c 2 0 ד"ר ניר שוולב מבוא לרובוטיקה כלומר ,אם נפעיל את המפרק הסיבובי הראשון במהירות זוויתית בת יחידה (נניח רדיאן לשנייה) ואת המנוע הפריזמטי במהירות קווית בגודל ( L 2נניח מטר לשנייה) ,אז המהירות הקווית של יחידת הקצה תהא אפס. תרגיל :8.1נתון הרובוט המישורי .RRדון בקונפיגורציות הסינגולאריות שלו. L 2 s12 תשובה :היעקוביאן שהתקבל זה מכבר הואL 2 c12 1 : 1 2 - L1s1 L 2 s12 v L1c1 L 2 c12 ω 1 הרובוט מישורי ,ולכן המהירות הליניארית של התפסנית קשורה לשתי השורות הראשונות בלבד: L 2 s12 L 2 c12 - L s L 2 s12 J 1 1והדטרמיננטה L1c1 L 2 c12 . det J L1L 2 s 2הווה אומר שהקונפיגורציות הסינגולאריות הן אותן קונפיגורציות בהן , θ 2 0, πכלומר הקונפיגורציות בהן החוליות מיושרות אחת ביחס לשנייה (מתוחות לגמרי או מקופלות לגמרי) .אין חשיבות לערך . θ 1ולכן ישנן אינסוף קונפיגורציות סינגולאריות .נשים לב שהקונפיגורציות הסינ גולאריות הן בדיוק המקום הגיאומטרי שמהווה את שטח מעטפת מרחב העבודה של הרובוט (מעטפת חיצונית ופנימית) .בקונפיגורציות הסינגולאריות אין אפשרות למהירות בכיוון הרדיאלי (פנימה והחוצה) – יש לפתוח "קודם" את שתי החוליות ורק "לאחר מכן" אפשר להניע את יחידת הקצה במהירות קווית שאיננה אפס בכיוון הרדיאלי. נראה זאת :הביטוי ליעקוביאן בקונפיגורציה הסינגולארית ,כלומר עבור , θ 2 0הוא L 2 s1 θ 1 L 2 c1 θ 2 θ - L1 L 2 s1 v Jθ 2 0 1 θ 2 L1 L 2 c1 בקונפיגורציה הזו ,הביטוי למיקום יחידת הקצה הוא . x, y L1 L 2 c1 , s1 לכן נוכל לחלץ את וקטור המהירות בכיוון הרדיאלי ,כלומר בכיוון , x, y באמצעות מכפלה L 2 s1 θ 1 סקלארית 0 : L 2 c1 θ 2 - L1 L 2 s1 . x, y v c1 , s1 L1 L 2 c1 111 מבוא לרובוטיקה 112 ד"ר ניר שוולב משפט :מעטפת מרחב העבודה מורכבת מנקודות סינגולאריות( .לרוב מתרחש כאשר מספר חוליות מתיישרות). תרגיל :8.2נתון רובוט RRRהמרחבי של חברת Eshed Robot הישראלית איור (ראה סכמטי). ידוע שהקונפיגורציה בה יחידת הקצה נמצאת על ציר ,Zהינה סינגולארית .הסבר את הסיבה הקינמטית לכך. תשובה :נניח ללא הגבלת הכלליות שהמפרק בבסיס מסובב באופן שהחוליה השנייה והשלישית מצויות במישור .ZYבקונפיגורציה הסינגולארית נקודת הקצה מצויה על ציר .Zנשים לב שבקונפיגורציה כזו יחידת הקצה מוגבלת לתנועה (באופן רגעי) למישור ZYבלבד .כלומר ,אם נרצה להזיז את התפסנית בכיוון ציר X לדוגמא ,נאלץ להזיז מעט את יחידת הקצה מציר ,Zלסובב מעט את המפרק בבסיס כך שהחוליות השנייה והשלישית תהיינה במישור כלשהו שאינו מישור ,ZYורק לאחר מכן נפעיל את המפרקים השני והשלישי לקבלת התנועה הרצויה. באופן שקול בקונפיגורציה הסינגולארית המפרק הסיבובי בבסיס אינו תורם לתנועת יחידת הקצה (כיוון שהיא על ציר הסיבוב שלו). טענה טבעית היא שאם נוסיף מספיק מנועים לרובוט טורי נוכל להימנע מקיום סינגולאריות במרחב העבודה .מסתבר שהטענה אינה נכונה כלל ועיקר ,כפי שהוכיח Gottliebב [.]66 משפט :לכל רובוט טורי R RRעם nמפרקים סיבוביים יש סינגולאריות ולא ניתן n להימנע ממנה בריבוי כלשהו של מפרקים סיבוביים. תרגילים נוספים: 7.6מצא באופן פורמאלי את כל הקונפיגורציות הסינגולאריות של הרובוט מתרגיל .3.5 7.7המפרק הפריזמטי של הרובוט RPRהמרחבי שבאיור, התקלקל .מצא את הקונפיגורציות הסינגולאריות עבור המיקום ,דון בהן. מבוא לרובוטיקה L2 תשובה: L 0 L1 ד"ר ניר שוולב tanθ 2 tanθ 2 7.8האם לרובוט המישורי RPשבאיור יש נקודות סינגולאריות? הסבר. רמז :קיימת קונפיגורציה סינגולארית .חשבו על מרחב המהירויות האפשרי של יחידת הקצה. 7.9בתמונה נתון הרובוט המרחבי RRPמדגם ( Unimateמפרק סיבובי בכיוון ,Zאחריו מפרק סיבובי מאונך לראשון ולבסוף מפרק פריזמטי). מהן הנקודות הסינגולאריות שלו (ביחס למיקום יחידת הקצה בלבד)? הסבר מה קורה מבחינה קינמטית .כיצד יכלו המתכננים למנוע הגעה לקונפיגורציות הללו? תשובהL1 0, θ 2 0, π : 7.11 נתון הרובוט RRPהמרחבי שבאיור. (א) מצא את הפרמטרים של דנביט והרטנברג ופתור את בעיית הקינמטיקה הישירה( .ב) נסח דרך ומשוואות מתאימות לבדיקת ַת ִקינּות הקריאות באנקורים שבמפרקים( .ג) נסח דרך ומשוואות התפסנית מהירות למציאת מתאימות המקסימאלית ,ע"פ המהירויות המקסימאליות שהמנועים יכולים לספק( .ד) מהן הנקודות הסינגולאריות של הרובוט? כיצד הן מגבילות את תנועת הרובוט? תשובה: 113 114 ד"ר ניר שוולב מבוא לרובוטיקה L 3 c 1s 2 L 2 s 1 L 3 s 1s 2 L 2 c 1 (א) 0 c2 L 3 c 2 L1 0 0 1 z L1 2 ;, L 3 0 L 2 ; 2 cos 1 L3 c 1s 2 s 1s 2 s1 c1 c 1s 2 ( 1 a tan 2 x, yג) s1s 2 c 2 L 3 0; 2 0, 7.11 c1 c 2 s c 0 ( T3 1 2ב) -s 2 0 L 3 x 2 y 2 z L1 2 L 3s1 s 2 L 2 c1 L 3 c1 c 2 J L 3 c 1s 2 L 2 s 1 L 3 s1 c 2 0 L3 s 2 נתוני התכן של הרובוט מדגם SCARAשנבחן בשאלה (ד) 9.6 הם: ( a 0 500, a 1 400, a 2 250, d 3 0,150, d 4 0המידות במילימטרים) .כמו כן נתון תחום פעולת המפרקים1 [110 0 ,90 0 ], 2 [0 0 ,1550 ], 3 [0 0 ,360 0 ], : (א) חשב את היעקוביאן( .ב) כתוב תוכנית אשר מחשבת את מקדם האיזוטרופיות עבור נקודה במרחב העבודה .מקדם האיזוטרופיות מוגדר כמנת הערך העצמי המקסימאלי של מטריצת היעקוביאן עם זה המינימאלי (השווה עם שאלה .)9.63 3.69עבור הרובוטים משאלה 9.60מצא מהן הקונפיגורציות הסינגולאריות. תשובה :התפסנית לאורך ציר ,Zאין קונפיגורציות סינגולאריות. ד"ר ניר שוולב מבוא לרובוטיקה .1אנליזת כוחות סטטית רובוטים באים מן הסתם במגע מכאני עם סביבתם ,בין השאר בהליכי הרכבה ,במשימות העמסה ,במשימות אחיזה שונות ובתאחיזת רכב בתוואי שטח .משימות כאלה דורשות בקרה על הכוחות והמומנטים שיחידת הקצה מפעילה על האובייקט .בפרק זה נדון בהרחבה בחישוב המומנטים והכוחות ביחידת הקצה בעת שהרובוט סטאטי. הפעלת אחד או יותר ממנועי הרובוט תחולל, מן הסתם ,הפעלת כוחות/מומנטים ביחידת הקצה .ומכאן ברי הוא שכדי ליצור כוחות ומומנטים רצויים ביחידת הרצה יש לתאם את הפעלת המנועים ברובוט .בפרק הקודם ראינו שמטריצת היעקוביאן מקשרת בין מהירות התפסנית למהירויות המפרקים ,ובפרק זה נראה כי היעקוביאן מקשר בין הכוחות המופעלים במפרקים לאלו המתחוללים ביחידת הקצה. כידוע ,עבודה היא (כוח) ( xדרך) ,אולם כיוון שאנו עוסקים בסטאטיקה ,כלומר ,לא קיימת כלל תנועה ,אין ברירה אלא לעסוק בעבודה וירטואלית ) .(Virtual workעבודה וירטואלית מוגדרת כְ : )(8.1 δW F δx x δF כאשר δpהוא הגודל Pהווירטואלי האינפיניטסימאלי ,בשונה מהגודל האינפיניטסימאלי האמיתי dpהרגיל ( שימו לב ,אנו חושבים על עבודה שלמעשה לא מתבצעת) .משוואה ()1.6 תאפשר לנו ,אם כן ,לעקוב אחר הכוחות המתפתחים במפרקים ובתפסנית באמצעות משוואות אנרגיה ,אפילו שאנו דנים במצב סטאטי. אנו עוסקים במצב סטאטי ולכן העבודה הוירטואלית שחושבה במשוואה 1.6מתאפסת .מצד שני ,העבודה הוירטואלית המבוצעת על ידי התפסנית והמפרקים בנפרד תלויה בדרכים הוירטואליות שאלו עושים ,ומתקיים השוויון: )(8.2 FT δx τ T δθ כאשר Fמסמן את וקטור הכוחות על התפסנית; δxאת הדרך הוירטואלית האינפיניטסימאלית שעוברת התפסנית; ווקטור τTאת המומנטים והכוחות שהמפרקים 115 116 ד"ר ניר שוולב מבוא לרובוטיקה מרגישים; ו δθ-מסמן את הדרך הוירטואלית שעושים המפרקים הפריזמטיים ,ואת הסיבובים הוירטואליים שעושים המפרקים הסיבוביים. הערה :מעתה ,כשנדבר על כוחות ,נתכוון למעשה לכוחות או מומנטים .בספרות ההתייחסות הזו נקראת כוחות מוכללים ) .(Generalized Forcesכשנדון בכוחות במפרקים הכוונה היא שהמדובר בכוח הנפעל על (או המופעל על ידי) מפרק ליניארי ,ובמומנט הנפעל על (או המופעל על ידי) מפרק סיבובי .כשנדון בכוחות על יחידת הקצה נתכוון לווקטור ( 9ממדי עבור רובוט מרחבי 0 ,ממדי למישורי) של כוח ומומנט על התפסנית. את הקשר הקינמטי ( Jθ xמשוואה )9.6כבר הכרנו ,ומכאן ברור שגם . J δθ δx :נציב בשוויון ( )3.9שלנו ונקבל FT J δθ τ T δθומכאן . F J τ T T מתוך הזהות (AB)T=BTATנקבל את הקשר בין הכוחות במפרקים τלכוחות שהתפסנית חשה : F τ JT F )(8.3 דוגמא :כפי שהערנו הוקטורים τ, Fהם למעשה וקטורי כוחות מוכללים .כלומר ,אם נסמן ב m, fכוח ומומנט בהתאמה ,נוסחה ( )1.0עבור רובוט RRPPתהא: m1 m 2 T f e f J m 3 e f 4 )(8.4 L1c1 L 2 c12 דוגמא :עבור הרובוט המישורי RRידוע כי L 2 c12 - L s L s . J T 1 1 2 12כאמור, L 2 s12 קונפיגורציה סינגולארית היא כזו בה החוליות מיושרות יחדיו ,כלומר , θ 2 0, πומכאן L1 L 2 c1 שבנקודה הסינגולארית : L 2 c1 - L1 L 2 s1 . J T כפי שכבר יכולנו לנחש בעבר, L 2 s1 כוח בכיוון הרדיאלי c1 , s1 Tהנפעל על יחידת הקצה לא ישפיע על המנועים ,ואמנם: c . J T 1 0נקל להשתכנע שאכן כך הוא אם נביט באיור שלמטה המדגים מכאניזם RR s1 דומה (אם נחשוב על יחידת הקצה כמחליקה ללא חיכוך על המשטח ,ההקבלה לרובוט RR ד"ר ניר שוולב מבוא לרובוטיקה 117 תהיה מלאה) .בתמונה מתואר כוח Hהמופעל על יחידת הקצה פנימה בכיוון הרדיאלי ,כאשר הזווית קטנה .בקונפיגורציה המתוארת נוכל בקלות להתנגד לכוח Hבאמצעות הפעלת כוח קטן על המפרק השני למטה .לחילופין ,נוכל להתנגד לכוח Hבאמצעות הפעלת מומנטים קטנים במפרקים .למעשה המומנטים הדרושים במפרקים ילכו ויקטנו ככל שהזווית 2 תתקרב לאפס ,ובנקודה בה 2 0 לא נזדקק למומנטים בכדי להתנגד לכוח . משפט :כוח שכיוונו אורתוגונאלי למרחב העמודות של היעקוביאן ,יחולל כוחות/מומנטים אפסיים על מפרקי הרובוט. הוכחה :טריוויאלית . כלומר ,אם ברצוננו להתנגד לכוח ( Hגדול ככל שיהיה) שכיוונו אורתוגונאלי לכיוון העמודות של היעקוביאן נוכל לעשות זאת בקלות תוך הפעלת כוח/מומנט מינימאלי .קונפיגורציה מעין זו יכולה ,כמובן ,לשרת אותנו כמהנדסים: הגדרה :בהינתן כוח מוכלל חיצוני Fהפועל על יחידת הקצה ,ובהינתן קבוצת הכוחות המוכללים τבמפרקים שאותם נחוש כתגובה על , Fנגדיר את היתרון המכאני כמנה F τ . היתרון המכאני משקף ,אפוא ,את המאמץ שנידרש לו בכדי לאזן כוח חיצוני. מסקנה :במצב בו יחידת הקצה נפעלת לכוח שכיוונו אורתוגונאלי למרחב העמודות של היעקוביאן ,נקבל יתרון מכאני השואף לאינסוף. L 2 s12 מטריצת היעקוביאן עבור מקרה הרובוט RRהמישורי היא L 2 c12 לכן, מרחב העמודות של היעקוביאן נפרש - L s L s . J 1 1 2 12 L1c1 L 2 c12 באמצעות הוקטורים s1 s s , 1 L1 L 2 , 1 L 2 ומכיוון שאלו תלויים ליניארית נקבל , β . β c1 c1 c1 118 ד"ר ניר שוולב מבוא לרובוטיקה s כלומר מרחב העמודות של היעקוביאן נפרש על ידי הוקטור היחיד . 1 c1 המרחב c האורתוגונאלי למרחב זה הוא המרחב הנפרש ע"י . 1 s1 הערה :המרחב האורתוגונאלי למרחב העמודות של היעקוביאן נקרא בספרות מרחב האפס c1 ) (Null Spaceשל היעקוביאן .בדוגמא שלנו מרחב האפס יהיה . , s1 על פי המשפט נסיק כי עבור רובוט מישורי RRהמצוי בקונפיגורציה סינגולארית ,ואשר יחידת הקצה שלו נפעלת לכוח c שכיוונו הכיוון הרדיאלי , 1 יתורגם למומנטים בגודל אפס s1 במפרקי הרובוט .לשון אחר ,היתרון המכאני F τ המקסימאלי של הרובוט מתקבל בקונפיגורציה סינגולארית ,כאשר יחידת הקצה שלו נפעלת לכוח שכיוונו הכיוון הרדיאלי. תרגיל :7.4בשרטוט נתון הרובוט המרחבי ,RRPשנדון בתרגיל ( .9.9א) מצא את הקונפיגורציות הסינגולאריות ,והדגם אותן בדרך אלגברית( .ב) אילו תנועות לא ניתן לקיים בקונפיגורציות הסינגולאריות הנ"ל? (ג) דון בקשר שבין הכוחות/מומנטים על יחידת הקצה והכוחות/מומנטים במפרקים( .ד) דון בקשר זה כאשר הרובוט נמצא במצב הסינגולארי שלו. פתרון( :א) היעקוביאן שקיבלנו בתרגיל :9.9 c 1s 2 s 1s 2 - c 2 33 L 2 c1 c 2 L 2 s 1s 2 L 2s 2 - L 2 s 1 s 2 L 1s 1 J L 2 c1 c 2 L1 c1 0 למציאת הנקודות הסינגולאריות נחשב את הדטרמיננטה של היעקוביאן ונשווה לאפס: det J L 2 L 2 s 2 L1 0 הדטרמיננטה מתאפסת כאשר L 2 sinθ 2 L1 :או . L 2 0 ד"ר ניר שוולב מבוא לרובוטיקה (ב) כאשר הרובוט מצוי באחת מנקודותיו הסינגולאריות המקיימת L 2 sinθ 2 L1כמודגם באיור ,באופן רגעי לא ניתן לגרום לתפסנית לנוע בכיוון הניצב לדף (וכפי שניווכח בפרק הבא, בכיוון זה לרובוט קשיחות אין-סופית) .כאשר L 2 0לא ניתן לקיים מהירות בכיוון הניצב לחוליה . L 2 הטענה האחרונה דורשת הבהרה :בקונפיגורציה רגולארית כלשהי בה L 2 sinθ 2 L1ו- , L 2 0מרחב המהירויות (התנועה הרגעית) הוא תלת ממדי :התנועה לכיוון הנורמל לדף מתקבלת מסיבוב , θ 1התנועה בכיוון L 2מתקבלת מפעולת המפרק הפריזמטי , L 2והתנועה בכיוון הניצב ל L 2 -מתקבלת מסיבוב . θ 2בקונפיגורציה סינגולארית בה L 2 0שתי התנועות הראשונות עדיין אפשריות ,בעוד שהתנועה בכיוון הניצב ל( L 2 -המתקבלת בד"כ מסיבוב ) θ 2מתנוונת ואינה אפשרית עוד. (ג) על פי משוואה ( )3.0נקבל: 0 Fx L 2 s 2 Fy c 2 Fz L 2 c1 c 2 L1 c1 L 2 s 1s 2 s 1s 2 M1 - L 2 s1s 2 L1s1 L 2 c1 c 2 M2 F c 1s 2 3 כאשר M1 , M 2 , F3מציינים את הכוחות והמומנטים שיש להפעיל על המפרקים בכדי להתנגד לכוח Fעל התפסנית .כלומר M1 , M 2 , F3מייצגים את הכוח הפועל בניגוד לכיוון המפרק הפריזמטי ,והמומנטים על המפרקים הסיבוביים הם 9ו 6-בהתאמה. (ד) נסתכל על מרחב העמודות של היעקוביאן כאשר : L 2 0 s1 c1s 2 s1 c1 spancolJ span c1 , s1s 2 span c1 , s1 מר 0 c 0 1 t 2 2 חב האפס הוא אוסף הוקטורים , x, y, z שמקיים: c1 - s1 x, y, z c1 0וכן . x, y, z s1 0משלושת השוויונות 1 t 0 2 נקבל z 0 , yc1 - xs 1 0 t2 xc 1 ys1 ונקבל . x, y, z c 2 c1 , c 2 s1 , s 2 כלומר, הכוח הבעייתי הוא בכיוון החוליה , L 2כמתואר באיור (או בכיוון המנוגד) .עבור המקרה 119 מבוא לרובוטיקה 121 הסינגולארי השני ד"ר ניר שוולב , L 2 sinθ 2 L1 העמודות מרחב היעקוביאן של c1 c1 יהיה spancolJ span s1 , s1 :והמרחב המאונך למרחב זה נפרש ע"י הווקטור t 1 t 2 2 - s1 , c1 כלומר הכוח הבעייתי הוא בכיוון הניצב לדף (פנימה או החוצה). 0 תרגיל :7.5בשרטוט נתון הרובוט המישורי RRאשר כל חוליותיו 0 באורך מטר אחד .עבור הקונפיגורציה בה θ1 θ 2 θ 3 45מהו הקשר בין המומנטים במפרקים למומנט בתפסנית? מהם הכוחות המוכללים במפרקים אם התפסנית נפעלת לכוח N T 2 ,0 ולמומנט של ? 1 Nm s1 פתרון :הביטוי ליעקוביאןc1 : 1 - s1 s12 s123 . J c1 c12 c123עבור הקונפיגורציה 1 - s1 s12 c1 c12 1 הנתונה נקבל: s1 2 1 2 2 1 2 2 c1 0 2 2 2 2 1 1 1 1 - s1 s12 s123 - s1 s12 c1 c12 c123 c1 c12 1 1 1 2 2 1 ומנוסחה ( )3.0ידוע2 2 1 0 2 : 2 2 1 1 0 0 2 1 . 2 2 1כלומר המומנטים 2 2 במפרקים יהיו ]. m1 , m 2 , m 3 ( 2 1, 2 ,0)[Nm תרגיל :7.6בשרטוט הבא נתונה זרוע פומה שמשמשת לריתוך אלקטרודות .מדי פעם J θ i 45 0 ד"ר ניר שוולב מבוא לרובוטיקה האלקטרודה "נדבקת" ועל הרובוט לעקור אותה ממקומה כדי להמשיך לעבוד .מצא את ~~ f , mעל הקשר בין הכוח והמומנט f, mשמופעל על האלקטרודה ,לבין הכוחות והמומנטים הנקודה המסומנת (זו הנקודה PCשדנו בה בפרק .)5על פי האיור ,הווקטור השרירותי P מתאר את מיקום הנקודה PCביחס לנקודת ההדבקה. פתרון :ידוע כי . τ J Fכיוון שאנו מעוניינים בכוחות על מערכת ,PCנדמיין לעצמנו רובוט T שבסיסו באלקטרודה וקצהו ב .PC-זרוע הרובוט במצב זה יכולה לנוע אינפיניטסימאלית בכיוון מרחבי שרירותי ,ולהסתובב אינפיניטסימאלית בכיוון מרחבי שרירותי. b r b תזוזה תתבטא ביעקוביאן כעמודה בעוד שסיבוב יתבטא ביעקוביאן כעמודה . b 0 ולכן חלק היעקוביאן המבטא את התזוזות יהא: py px 0 0 0 0 0 1 0 0 0 0 0 1 והקשר שהתקבל הוא: pz 0 px 0 0 0 0 pz 1 py 0 1 0 1 0 0 1 0 bˆ 3 p1 0 bˆ 3 0 0 0 0 0 0 f x 0 0 0 f y 0 0 0 f z 1 0 0 mx 0 1 0 m y 0 0 1 m z bˆ 1 p1 ˆb bˆ 3 0 bˆ 2 p1 ˆb 1 0 0 0 pz p y ~ fx ~ f ~y fz ~ mx ~ m y ~ m z 2 0 0 0 1 1 0 py pz px 0 0 0 1 תרגיל :7.1נתון היעקוביאן של רובוט SCARAמהדגם בתמונה .מצא את הכוחות או המומנטים שלהם לא יוכל הרובוט להתנגד. bˆ 2 0 ˆ b . J 1 0 121 מבוא לרובוטיקה 122 ד"ר ניר שוולב 0 0 1 0 0 0 L1c1 L 2 c12 L1s1 L 2 s12 0 0 0 1 0 L 2 c12 0 L 2 s12 0 0 J 0 0 0 0 1 1 פתרון :מרחב האפס ) )Null spaceשל J Tנפרש ע"י הוקטורים0,0,0,1,0,0T : ו- 0,0,0,0,1,0Tכלומר הרובוט לא יוכל להתנגד למומנטים סביב הצירים Xו Y-ולמעשה לא יוכל להתנגד לכל מומנט שצירו במישור .XY משוואה ( )1.0היא למעשה העתקה בין מרחב הכוחות בתפסנית למרחב הכוחות שבמפרקים. ההעתקה הזו תלויה בקונפיגורציה. לשם המחשה דמיינו את מרחב הכוחות F כמעגל דו ממדי .המעגל מייצג את אוסף כל וקטורי הכוחות באורך יחידה הפועלים על התפסנית .משוואה ( ,)1.0כאמור ,מעתיקה את מעגל הכוחות שבתפסנית למרחב הכוחות במפרקים -שצורתו הדו ממדית כמובן שונה .כפי שנוכיח ,במקרה הדו- ממדי יועתק המעגל לאליפסה בנקודות רגולאריות ,וככל שנתקרב לנקודה סינגולארית תמתח האליפסה עד שבנקודה עצמה יוותר קטע חד ממדי .המשמעות היא שכוחות הפועלים על התפסנית בכיוון שרירותי במישור ,אינם באים לידי ביטוי במפרקים ,ובמילים אחרות: היתרון המכאני המושג בקונפיגורציות מעין אלה יהיה גדול אינסופית .לעומתן הנקודות האיזוטרופיות שדובר בהן בתרגילים 9.63ו ,3.66-תעתקנה את מעגל הכוחות בתפסנית למעגל כוחות במפרקים .כלומר ,יש ביטוי מלא ואופטימלי במפרקים לכוחות המופעלים על התפסנית . נפעיל על המפרקים כוח באורך יחידה . τבמילים אחרות ,מתקיים . τ 1נציב את השוויון למשוואה ()1.0 T )(8.3 ונקבל: τ JT F ד"ר ניר שוולב מבוא לרובוטיקה 8.4 F J JT F 1 זוהי משוואת אליפסואיד -nממדי במרחב הכוחות בתפסנית ) . (Fx , Fy ,.., M zהוקטורים העצמיים של המטריצה J Jיהוו T את הצירים הראשיים 14 של האליפסה בעוד ש 1 / iאת האורכים שלהם ,ואילו iאת הערכים העצמיים של . J Jנשוב T לניתוח הזה בפרק ,63שם ניווכח שתיאור זה קשור למדד הנקרא מדד המניפולטיביות. תרגיל :7.2נתון רובוט מישורי RRכדוגמת האיור עם אורכי חוליות . L1 3, L 2 1 הכוחות המופעלים על התפסנית והמפרקים נתונים כ (Fx , Fy ) Tו (1 , 2 ) T -בהתאמה .עבור קונפיגורציה בה ( 1 0, 2 / 2א) מצא את אליפסת הכוחות בתפסנית( .ב) מה כיוון התפסנית המועדף לעבודה מבחינת כוחות בקונפיגורציה זו? L1c1 L 2 c12 f x תשובה :ידוע הקשר : L 2 c12 f y החוליות בקונפיגורציה הרצויה L s L 2 s12 . 1 1 1נציב את אורכי 2 L 2 s12 ונקבל: 1 1 f x , 1 2 3 0 f y ולכן 2 3 . J J T נציב בנוסחה ()1.9 3 3 ונקבל את משוואת האליפסה המבוקשת . 2f x 2 3f x f y 3f y 1כל נקודה על 2 2 האליפסה מציינת את אוסף הכוחות שיכול להתקבל בתפסנית כתוצאה מהפעלת וקטור (באורך יחידה) כוחות 1 , 2 T במפרקים. 5 13 T הערכים העצמיים של המטריצה J Jהם 2 לערך העצמי המקסימאלי מסומן בחץ האיור שמשמאל .כיוון זה מציין את כיוון הכוח היעיל ביותר בתפסנית מבחינת היתרון המכאני. 1, 2 והווקטור העצמי המתאים 14 ע"פ הבנייה שלנו ,המטריצה F 0 T J JT היא positive semidefiniteכלומר עבור כל ווקטור Fמתקיים . F J Jבנוסף המטריצה סימטרית ,ולכן הווקטורים העצמיים שלה מאונכים אחד לשני. 123 124 ד"ר ניר שוולב מבוא לרובוטיקה תרגילים נוספים: עבור רובוט הנמצא בקונפיגורציה סינגולארית שלו ,הראו שקיימים כוחות מוכללים 8.5 שאם יופעלו על התפסנית ניתן יהיה לאזן אותם ע"י כוחות אפסיים במפרקים. 8.6 כתוב תוכנית מחשב אשר מחשבת את ההעתקה בין מרחב הכוחות בתפסנית לאלו שבמפרקים עבור הרובוט ( RRראו תרגיל ( .)1.9א) הדגם מה קורה בסמוך לקונפיגורציות הסינגולאריות( .ב) מה קורה בסמוך לנקודות האיזוטרופיות ? רמז :שטח האליפסות מתאפס בסמוך לקונפיגורציות הסינגולאריות ,וצירן הגדול מאונך לכיוון הזרוע הרובוטית. 8.7 נתון Microbot הרובוט (דגם המרחבי מדגם RRR מוקדם) .נתון ונתון L1=0 היעקוביאן שלו (למטה) המקיים את משוואה 1.0 כאשר . F f x , f y , f z , M x , M y , M z T וקטורים Fמתאימים לווקטור נתון? מדוע? (ב) עבור (א) כמה 1 , 2 , 3 T קונפיגורציה בה L 2 3, L 3 2, 1 2 3 / 2כתוב את הקשר בין שני הוקטורים. s1 (L 2 s 2 L 3s 23 ) c1 (L 2 c 2 L 3 c 23 ) L 3 c1c 23 c1 (L 2 s 2 L 3 s 23 ) s1 (L 2 c 2 L 3 c 23 ) L 3 s1c 23 0 (L 2 s 2 L 3s 23 ) L 3s 23 J 0 s1 s1 0 c1 c1 1 0 0 תשובה1 M z 2f x , 2 M x 2f z 3f y , 3 M x 2f z , : בהינתן שתי מערכות קואורדינאטות מוזזות ומסובבות יחסית נוכל כמובן לאפיין את התזוזה היחסית ביניהן באמצעות טרנספורמציה הומוגנית כפי שעשינו בפרק : 9,0 A R d 31 Z B ABT B 013 111 44 A YB A R A X B A B , הטרנספורמציה ,Tאם כן ,מתארת את הקשר בין מיקומים בשני מערכות הקואורדינאטות. נוכל לתאר גם את הקשר בין תיאור מהירות חלקיק בשתי המערכות .בכדי לקבל ד"ר ניר שוולב מבוא לרובוטיקה טרנספורמציה מתאימה נחבר בדמיוננו שלשה מפרקים סיבוביים ושלשה מפרקים פריזמטיים למערכת הראשונה כך שנוכל לקבל כל מיקום ואוריינטציה של המערכת השנייה לעומת הראשונה .באופן זה כמובן נוכל לקבל את הטרנספורמציה באמצעות כתיבת היעקוביאן לפי נוסחה : 9.9 d A Z B A Z B 66 d A YB A YB d A X B A XB ZB A YB 0 A XB J 0 A 0 A B ולכן ,נוכל על פי משוואה 1.0לקבל את הקשר בין תיאור כוחות במערכת אחת ולבין התיאור של אותם הכוחות במערכת שנייה . τ AB J T Fהשתמש בקשר זה לפתור את שתי הבעיות: 1.1 נתון הכוח המוכלל F, MA 5,6,7,10,20,30 הפועל על מערכת אחת. הטרנספורמציה בין מערכת זו למערכת אחרת נתונה להלן ,רשום את הביטוי לכוחות במערכת השנייה. 0 1 20 0 0 30 1 0 0 0 0 1 0 1 A BT 0 0 תשובהF, MB 6,7,5,160,60,200 : 8.9נתונות שתי הטרנספורמציות עבור רובוט RRמסויים: 0 1 0 2 ; 1 3 0 1 0 1 10 1 0 1 0 20 1 0 1 ; T 2 0 0 1 0 10 0 0 0 0 1 1 0 0 T1 0 0 מפעילים על יחידת הקצה כוח מוכלל . F, M2 10,7,8,200,100,100מהם הכוחות שמרגיש המפרק בבסיס הרובוט? תשובהF, M1 8,10,7,73,205,62 : 1.63 עבור הרובוט RRPמדגם Unimateהנתון בתמונה, ידוע כי משקלה של החוליה שבין שני המפרקים הסיבוביים ,m1משקלה של החוליה שבין המפרק הסיבובי השני למפרק הפריזמטי ,m2משקלה של החוליה לאחר המפרק הפריזמטי הוא ,m3ומשקלה של התפסנית ( .m4א) מצא את העומסים על המפרקים כתוצאה מהמסה הראשונה( .ב) מצא את העומסים על המפרקים כתוצאה מהמסה השנייה( .ג) מצא את העומסים 125 126 מבוא לרובוטיקה ד"ר ניר שוולב על המפרקים כתוצאה ממסת התפסנית( .ד) מצא את העומסים על המפרקים כתוצאה מהמסות כולן. תשובה( :א) הכוח המוכלל במפרק הראשון יהיה אפס (ב) הכוח המוכלל בשני המנועים הראשונים יהיה F 0,L1s 2 m 2 g כאשר L1חצי אורך החוליה ששוקלת ( m2ג) הכוח המוכלל בשלשת המנועים יהיה F 0,L 2 s 2 m 4 g, m 4 c 2 ד"ר ניר שוולב מבוא לרובוטיקה .6אנליזת קשיחות לא לכל מכאניזם יש חיישנים למדידת המיקום המדויק של הקצה/התפסנית של המנגנון באופן ישיר .במקרים אלה המיקום מחושב באמצעות הקינמטיקה הישירה ,שמבקרת את ערכי המפרקים הממונעים .לאמור ,יש חשיבות לקשיחות של המבנה ,שתמנע תזוזה לא רצויה במפרקים כתוצאה מכוחות סטאטיים ,כמו למשל המשקל העצמי של הרובוט .אף על פי כן ,תמיד קיימת מידת "קפיציות" למכאניזם ויש להתחשב בה ,ומכאן החשיבות שבהבנת מושג הקשיחות וחישובו. נתון מכאניזם עם מפרקים ויחידת קצה .נניח שהמפרקים כולם נעולים ואינם נעים כלל .יחד עם זאת ברור שיחידת הקצה תזוז ותסתובב קמעא בתגובה להפעלת כוח מוכלל Fעליה .אם נסמן את וקטור ההזזה המוכללת הזו ב , Δxהקשיחות ( )Stiffnessתהיה המטריצה C 1 1 המקשרת בין השניים( . F C Δx :בספרות לעיתים מתייחסים למושג זה כאל קשיחות יחידת הקצה – )End point Stiffness במקרה החד ממדי מטריצת הקשיחות מתנוונת לכדי סקלאר .במקרה זה הדמיון למשוואת הקפיץ אינו מקרי ,ואכן ,נוכל לחשוב על הקשיחות הסקלארית כעל "קבוע הקפיץ" של המכאניזם .במקרה הלא מנוון מטריצת הקשיחות מתארת את קבועי הקפיץ לכל כיוון העמסה אפשרי של יחידת הקצה. לאורך כל הדיון בקשיחות נשתמש במושג הזזות מוכללות ,אשר בדומה למושג כוח מוכלל מאגד תחתיו את התנהגות המפרקים הליניאריים 127 128 ד"ר ניר שוולב מבוא לרובוטיקה והסיבוביים יחד .בהתייחס למפרק פריזמטי תהיה הזזה מוכללת פשוט הזזה ליניארית ,בעוד שכשנתייחס למפרק סיבובי הזזה מוכללת תתאר סיבוב ,כמתואר באיור. עבור כל מפרק בנפרד ,בין אם מדובר במפרק סיבובי ובין אם במפרק ליניארי ,נוכל לנחש שקיים קשר בין מידת הזזתו לבין הכוח הדרוש להזזה זו .אופיו המתמטי של הקשר קשה לחזוי בדרך כלל ,ולמרות זאת ברור יהיה שככל שנזיז יותר כך נדרש לכוח גדול יותר .יהא הקשר המתמטי אשר יהא לעולם נוכל לבצע ליניאריזציה ולקבל קשר ליניארי מקורב מהאופי f i k i Δ x i :עבור מפרק ליניארי ו m j k j Δ j -עבור מפרק סיבובי. הנחה :בכדי להקל על החישובים ומטעמים פרקטיים ,אנו מניחים שהחוליות עצמן קשיחות לחלוטין (במילים אחרות ,נניח שהן אינן אלסטיות כלל) .והאלסטיות של המבנה כולו נובעת מהאלסטיות במפרקים בלבד. עבור רובוט נתון נוכל לרכז את הקשרים הללו למשוואה המטריצית: )(9.1 k1 k2 K k n ; τ KΔ Q כאשר Qמסמן וקטור הזזות המפרקים הסיבוביים Δ jוהליניאריים . Δ xiוקטור הוא וקטור המומנטים והכוחות שהמפרקים מרגישים. על פי משוואה ( )3.0ידוע כי . τ J Fנציב במשוואה ( )6.6ונקבל , KΔ Q J T Fכלומר: T )(9.2 . K 1J T F ΔQ dx dQ נזכור כי ע"פ משוואה ( )9.6ידוע J dt dt ונוכל לרשום את המשוואה האינפיניטסימאלית . Δx JΔ Qנציב ל )6.9(-ונקבל: )(9.3 Δx C F 1 T C JK J כאשר xמסמן את התזוזה המוכללת (תזוזות וסיבובים) של יחידת הקצה ,ו F -את הכוחות המוכללים (כוחות ומומנטים) של יחידת ד"ר ניר שוולב מבוא לרובוטיקה 1 T הקצה JK J .נקראת מטריצת הגמישות או ההיענות ( )Compliance Matrixומסומנת באות .Cמטריצת הקשיחות מוגדרת כ- 1 )(9.4 S JK 1J T ומתקיים הקשר . F S Δx תרגיל :4.4נתון הרובוט שנדון בתרגיל ( .3.0א) רשום את הביטוי למטריצת הקשיחות שלו. רשום את קשר הקשיחות( .ב) דון במצב הקשיחות בקונפיגורציות הסינגולאריות של הרובוט בהן התפסנית על קו הבסיס (הקונפיגורציה שבאיור) . תשובה( :א) על פי התוצאות שהתקבלו בתרגיל 3.0ידוע כי: c1 L 3c 2 L 2 s 2 c1s 2 s1 L 3c 2 L 2 s 2 s1s 2 L 3s 2 c 2 L 2 c2 s1 0 c1 0 0 0 L 3s1s 2 s1c 2 L 2 L 3c1s 2 c1c 2 L 2 0 J 0 0 1 נחשב את המטריצה Kההופכית: 1 k 3 1 k2 1 k1 K 1 1 T ונקבל את מטריצת הגמישות מהמכפלה , C JK Jזו מטריצה .6x6מטריצת הקשיחות S תהיה המטריצה ההופכית לה ומתקיים הקשר . F S Δxבכדי להבין את הקשר נכתוב: f S11 S12 x m S 21 S 22 , xמייצגים את התזוזה הליניארית של יחידת הקצה והסיבוב שלה בהתאמהf , m . מייצגים את הכוח ביחידת הקצה ,והמומנט בה בהתאמה .ולכן אם נתעניין בכוחות בלבד נוכל להסתפק בחישוב תת המטריצה S11 S12 וכיו"ב. 129 מבוא לרובוטיקה 131 ד"ר ניר שוולב L2 (ב) ראינו שקונפיגורציות סינגולאריות מתקבלות כאשר L3 . tanθ 2 במצב זה יחידת הקצה ניצבת בדיוק על ציר ( Zראה איור :פונה מעלה או מטה) .במצב זה הפעלת כוח בניצב למישור המסומן באיור ,כלומר כוח שכיוונו , F s1 , c1 ,0תתנגד לקשיחות החוליות T בלבד ולכן , C F 0כלומר יחידת הקצה לא תזוז( .החישוב המפורש מייגע ומומלץ להשתמש במנוע מתמטי כמו Mapleלביצועו). תרגיל ( :4.5א) חשב את היעקוביאן (ב) מצא את עבור הגמישות מטריצת המכאניזם שבאיור( .ג) מהן הקונפיגורציות הסינגולאריות של המכאניזם ומה יקרה הקשיחות מבחינת בקונפיגורציות הללו ? תשובה( :א) המכאניזם נקרא פרללוגרם ) (Parallelogramוהוא בנוי משתי מקביליות .שימו לב שהמפרק השני ויחידת ָּ הקצה תמיד תהינה מקבילות לאדמה ולמעשה זו מטרתו של המכאניזם .תכונה זו מאפשרת לנו לבחור את הזוויות כבתמונה ולכתוב את משוואות הקינמטיקה הישירה ישירות x L1c1 L 2 c 2 ; y L1s1 L 2 s 2 :ולגזור אותן לקבלת היעקוביאן: L 2s 2 L 2 c 2 L1s1 L1c1 x 2 y 2 x J 1 y 1 (ב) נחשב את מטריצת הגמישות: L 1 c1 L 2 c 2 L1s1 L 2 s 2 L 2 s 2 1/k 1 L 2 c 2 1/k 2 L1s1 C J K -1 J T L1 c1 ד"ר ניר שוולב מבוא לרובוטיקה 2 2 L1 s 1 c 2 L 2 s 2 c 2 k1 k2 2 2 2 2 L1 c1 L2 c2 k1 k2 L1 2 s 1 2 L 2 2 s 2 2 k1 k2 C 2 2 L 1 s 1 c1 L 2 s 1 c 2 k1 k2 (ג) כאשר הקונפיגורציה סינגולארית שתי הזוויות משתוות או משלימות ל . 6133המכאניזם כולו מתיישר .במצב זה כוח בכיוון c1 , s1 Tלא יגרום כל תנועה ( Cc1 , s1 T 0הכוח יתנגד לקשיחות החוליות ויפעל בכיוון האורכי שלהן). תרגיל :4.6בשרטוט נתון הרובוט המרחבי .RPPנתונים ערך הקשיחות במפרק הסיבובי ) . k1 sin(1באיזו קונפיגורציה הגמישות מקסימאלית? פתרון :מטריצת היעקוביאן נתונה מתרגיל : 3.6 c1 s1 0 0 0 0 s1 c1 0 0 0 0 L 3s1 L 2 c1 - L 3c1 - L 2 s1 0 J 0 0 1 ולמעשה מפני שכל התנועה מתבצעת במישור נוכל להסתפק בשתי השורות הראשונות בלבד . נחשב את מטריצת הגמישות : C J K J T -1 L 3s1 L 2 c1 - L 3c1 - L 2 s1 1 s1 c1 0 c1 s1 0 1 s1 1 k2 1 c1 k 1 s1 0 L 3s1 L 2 c1 s1 C - L 3c1 - L 2 s1 c1 1 0 בכדי לבחון מתי הגמישות מקסימאלית נחשב את הדטרמיננטה של מטריצת הגמישות. מכיוון 1 s1k 2 k 3 שידוע )det(AB) det(A) det(B וכן )det(A T ) det(A נחשב 2 1 , det(C) det(J) det K כלומר ערך מקסימאלי מתקבל כאשר . 1 0, 131 מבוא לרובוטיקה 132 ד"ר ניר שוולב תרגילים נוספים: 6.9הרובוט שבאיור שדנו בו בפרקים הקודמים מצוי בקונפיגורציה בה , 1 0, 2 450ואורך המפרק הפריזמטי הוא חצי מטר. מפעילים מומנט בשיעור של 6ניוטון מטר על התפסנית וכתוצאה מכך התפסנית משנה את מיקומה אך אינה משנה את האוריינטציה שלה( .א) מהי מטריצת הגמישות? (ב) בכמה ס"מ זז המפרק הסיבובי האחרון בהשקעת אותו כוח על התפסנית אם ידוע כי ? k1=1 רמזC 3,3 1 / k 1 1 / k 3 : 6.5נתון רובוט RRמישורי וכן נתון .L1=L2=1,K2>>K1רצוי למקם את התפסנית בנקודה . 1,1Tמצא את הקונפיגורציה העדיפה מבחינת הגמישות בה כדאי להציב את הרובוט .הסבר באמצעות תרשים כוחות פשוט. 6.9נתון הרובוט RPRשבאיור .חשב את מטריצת הגמישות שלו .הסבר את עמודת האפסים. תשובה: L 3 s1 L 2 c1 k1 - L 3 c1 L 2 s1 k1 0 0 0 1 k1 0 0 0 0 0 0 0 s1c1 k3 2 s1 k3 0 0 0 2 c1 0 k3 sc 0 1 1 k3 0 0 s1 c1 k2 - L 3 c1 L 2 s 1 L 3 s 1 L 2 c1 k1 2 - L 3 c1 L 2 s1 c1 k1 k2 0 0 0 - L 3 c1 L 2 s1 k1 6.3כתוב תוכנית Mapleעבור רובוט RRRשבאיור בו אורכי כל החוליות 6מ' ,אשר מחשבת את (א) הקינמטיקה הישירה (ב) היעקוביאן (ג) מטריצת הקשיחות בנקודות הסינגולאריות( .ד) מהן הקונפיגורציות בעלות הקשיחות המינימאלית/מקסימאלית ביחס לתזוזה בכיוון ,Xובכיוון .Y L 3 s 1 L 2 c1 2 s 1 2 k1 k2 L s L c - L c L s 2 1 3 1 2 1 3 1 k1 0 C 0 0 L 3 s1 L 2 c1 k1 133 ד"ר ניר שוולב מבוא לרובוטיקה :)(ב,) הדרוש לפתרון (אMaple התחביר ב אתחול restart: with(linalg): קיצורים alias(seq(c[i]=cos(t[i]),i=1..4), seq(s[i]=sin(t[i]),i=1..4)): הגדרת מטריצת הטרנספורמציה כפונקציה של פרמטרי דנביט והרטנברג M:=(a,alpha,d,theta) -> matrix(4,4,[cos(theta), -sin(theta)*cos(alpha), sin(theta)*sin(alpha), a*cos(theta), sin(theta), cos(theta)*sin(alpha), cos(theta)*sin(alpha), a*sin(theta), 0, sin(alpha), cos(alpha), d, 0 ,0 ,0 ,1]): M(a,alpha,d,theta); הפרמטרים של דנביט והרטנברג alpha:=vector([0,-Pi/4,0]): a:=vector([a0,a1,0]): d:=vector([0,a1,a3]): theta:=vector([t1,t2,t3]): הצבת הפרמטרים לתוך המטריצה for i from 1 to 3 do T[i]:=M(a[i],alpha[i],d[i],theta[i]); end do T01:=evalm(T[1]); T02:=evalm(T[1]&*T[2]); T03:=evalm(T[1]&*T[2]&*T[3]); סימון להצגה יפה יותר alias(c[123]=cos(t1+t2+t3), s[123]=sin(t1+t2+t3)): T:=evalm(T03); חישוב היעקוביאן P:=subvector(T03,1..3,4); J:=stackmatrix(augment(jacobian(P,t1,t2,t3),vector([0,0,0,1])), matrix(3,4, [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0])); החוליות בנויות. הנתונות במפרקיםK1 , K2 מישורי עם קשיחויותRR נתון רובוט6.1 (א) חשב את. נתוןE ובעלות מודול יאנג,פרופילים ריבועיים מלאים שמידותיהם נתונות מקדמי הקפיץ עבור כל אחת מן החוליות (ב) חשב את מטריצת הקשיחות עבור הרובוט תוך .התחשבות בקשיחות החוליות והמפרקים 134 ד"ר ניר שוולב מבוא לרובוטיקה .63מדדים בפרקים הקודמים נגענו בקצרה במדד האיזוטרופיות ליעילות העברת הכוחות ברובוט עבור קונפיגורציה נתונה ,ובהעתקת הכוחות .בספרות המקצועית נהוגים מספר מדדים להערכת "טיב" או "יעילות" קונפיגורציה או רובוט .בפרק זה נדון בארבעה :מדד המניפולטיביות הקשור קשר עבות עם תרגיל 1.9שדנו בו בפרקים ,1,3 מדד הרזולוציה (כושר ההפרדה) המתאר את רזולוציית התנועה של התפסנית ,מדד ההדירות ( )Repeatabilityהמתאר את המידה בה ניתן לחזור ולמקם את התפסנית באותה נקודה ,והדיוק הכללי. כזכור ,היעקוביאן מהווה העתקה ליניארית בין מרחבי המהירויות של המפרקים והמהירויות של יחידת הקצה .ככל העתקה ליניארית כך גם היעקוביאן מעתיק ווקטורי יחידה ממרחב המקור לווקטור במרחב המטרה .מידותיו של הווקטור במקרה של היעקוביאן מעיד על יכולתה של יחידת הקצה לנוע לאותו כיוון. הגדרה :נתון רובוט בקונפיגורציה qנתונה .המניפולטיביות ) (Manipulabilityשלו בנקודה זו מסומנת ב M(q) -ומוגדרת כנפח האליפסואיד ,המתקבל ממיפוי מעגל יחידה של מהירות qבמפרקים ע"י היעקוביאן . Jq כפי שראינו בפרק ,9במקרה הכללי בו Jאיננה חייבת להיות ריבועית הביטוי למהירויות המפרקים הוא , J x qכאשר = xמהירויות יחידת הקצה .אם נבחר את מהירויות המפרקים להיות באורך יחידה (אוסף הווקטורים המרכיבים את כדור היחידה) ,כלומר q T q 1 2 T , qנוכל לרשום J x J x 1ובמפורש: -1 x x T J T J x -1 JJ T JJ T -T x x T JJ T -1 T x J T JJ T JJ T -1 T J כך קיבלנו ביטוי לאליפסואיד (השווה עם שאלה .)1.5בכדי לחשב את מדד המניפולטיביות נרצה לחשב ,אם כן ,את נפחו .בכדי לחשב זאת נתמקד ראשית בקוביית יחידה איניפיטיסמאלית המועתקת למקבילון תחת הטרנספורמציה הליניארית כמודגם באיור .נפח האליפסואיד יהיה נפח המקבילון האיניפיטיסימאלי בנפח כדור היחידה המקורי שהועתק. ד"ר ניר שוולב מבוא לרובוטיקה נפח המקבילון שצלעותיו q'1 , q' 2 , q'3יהיה שטח המקבילית q' 2 q'3המהווה את בסיס המקבילון כפול גובה המקבילון ,ובסה"כ . q'1 q' 2 q'3 :נפח האליפסואיד הוא אם כן 4 3 . q'1 q' 2 q'3 לבסוף ,אם נזכור כי a3 עבור מטריצה b 3 c 3 a2 b2 c2 a1 J b1הביטוי c 1 לדטרמיננטה הוא . det J a b cנקבל כי הביטוי לנפח האליפסואיד (עד כדי הכפלה בקבוע שתלוי במימד האליפסואיד בלבד) הוא: Mq det J J T )(10.1 עבור רובוט לא יתיר ,בו היעקוביאן ריבועי ,הביטוי מתנוון ל: )Mq det(J )(10.2 משוויון 63.9אפשר להבין שמדד המניפולטיביות מודד כמה קרובים אנו לסינגולאריות .ככל ש M(q) → 0 -הקונפיגורציה קרובה יותר לסינגולאריות .נרצה ,כמובן ,להתרחק ככל הניתן ממצב סינגולארי ובעזרת שיוויון 63.6נוכל לעשות כן ,ולתכנן את הרובוט כך שהמניפולטיביות של הרובוט תהא מקסימאלית. דוגמא :נתון הרובוט RRהמישורי ,מצא מהן הנקודות בהן המניפולטיביות של הרובוט אופטימאלית. L 2 s12 פתרון :נתון היעקוביאן : L 2 c12 L s L 2 s12 . J 1 1נחשב את המניפולטיביות :כיוון L1c1 L 2 c12 שהרובוט אינו יתיר ( 9מפרקים 9 ,מימדי תנועה) נוכל להשתמש בנוסחה ,63.9כלומר L 2 s12 L 2 c12 L s L 2 s12 . det(J) det 1 1ניתן ,כמובן ,לבצע פעולות אלמנטריות על L1c1 L 2 c12 135 136 ד"ר ניר שוולב מבוא לרובוטיקה המטריצה ,מבלי לשנות את ) .15det(Jלדוגמא ,על ידי חיבור העמודה השנייה לראשונה נקבל ביטוי פשוט יותר למניפולטיביות: L 2 s12 L 2 c12 L1 s 1 det J det L 1 c1 . קיבלנו , det J L1L 2 s 2כלומר המניפולטיביות אינה תלויה בזווית 1ומקבלת את המקסימום שלה כאשר . 2 / 2אגב ,היד האנושית תואמת לחישוב שלנו -פרק היד שלנו נע סביב ( 63ºבין – 3ºל .)613º -יתר על כן ,נוכל להשתמש בחישוב זה בכדי לייצר אזור מקסימאלי של מניפולטיביות אם נמקסם את הביטוי . M J L1L 2 s 2תחת ההגבלה (נניח) כי האורך הכולל של הזרוע הוא בגודל יחידה ,כלומר M q , L1 L 2 1יהיה מקסימאלי אם , L1 L 2ושוב -כך נהג הטבע בתכנון הזרוע האנושית. תרגיל :40.4נתון הרובוט RRRהמרחבי שבאיור (ראה תרגיל ( :)1.3א) חשב את המניפולטיביות של הרובוט ביחס למיקום התפסנית בלבד( .ב) מהי הקונפי' האופטימאלית למניפולטיביות אם ידוע שאורכי כל החוליות שוות יחידה? פתרון :היעקוביאן נתון בביטוי: s1 (L 2 s 2 L 3 s 23 ) c1 (L 2 c 2 L 3 c 23 ) L 3 c1c 23 J c1 (L 2 s 2 L 3 s 23 ) s1 (L 2 c 2 L 3 c 23 ) L 3 s1c 23 0 L 2 c 2 L 3 c 23 L 3 c 23 אנו נדרשים לחשב את המניפולטיביות ביחס למיקום התפסנית בלבד ( 0דג"ח) .היות והרובוט הוא בעל מוביליות ,0 המניפולטיביות של הרובוט היא הדטרמיננטה של היעקוביאן: M(q) det J L 2 L 3 L 3s 23 L 2 s 2 s 3 השתמשנו בזהות c 2 s 23 - s 2 c 23 s 3 וב- (לקבלת הביטוי .) s 2 s 23 c 23c 2 s 3נשים לב שהביטוי למניפולטיביות אינו תלוי בזווית , 1ולכן כדי למצוא את האופטימום נגזור את הביטוי לפי L3c3 L 2 M 2ולפי L 2 L 3 L 3 c 2 3 L 2 c 2 s 3 0 : 3 .ומכאן L 3s 3 2 . tg 2 השוויון האחרון מעיד שהתנאי הראשון לקבלת המניפולטיביות המקסימאלית הוא שעל התפסנית 15כי A B det A det B detוכן det c1 c 2 c 2 det c1 c 2 det c 2 c 2 ד"ר ניר שוולב מבוא לרובוטיקה 137 להיות בגובה המפרק ( Aראה איור לעיל) .בכדי למצוא קונפיגורציה בעלת מניפולטיביות אופטימאלית נציב, ראשית, את הביטוי שקיבלנו חזרה ל )M(q לקבלת . Mq L 2 2 L 3 2 2L 2 L 3 c 3 L 2 L 3 s 3כעת נוכל לגזור על פי 3ולקבל : L 2 L 3sin 2 3 M 2 2 L 2 L 3 2L 2 L 3 c 3 L 2 L 3 c 3 0 2 2 3 L 2 L 3 2L 2 L 3 c 3 בהצבת L 2 L 3 1נקבל . 3 80 0 שימו לב :ראינו שעבור הרובוט RRהמישורי המניפולטיביות המקסימאלית מתקבלת כאשר הזווית בין החוליות שווה ל ,633לעומתו הרובוט RRRהמרחבי בשאלה 63.6מתאפיין במניפולטיביות מקסימאלית ב 133בין שתי החוליות הדיסטאליות ! כלומר הזווית 1משנה את המניפולטיביות ! שאלה :40.5עבור הרובוט המרחבי ( RRRRא) השתמש בתוכנה מתמטית כלשהי לחישוב המניפולטיביות שלו (בהתייחס למיקום ואוריינטציה של התפסנית)( .ב) חשב את המניפולטיביות של הרובוט 3Rהמורכב משלושת המפרקים הסיבוביים האחרונים( .ג) מצא את הקשר בין המדדים שחישבת .מה משמעותו ? פתרון( :א) למעשה זהו הרובוט מתרגיל 63.6בתוספת מפרק סיבובי נוסף: s1 (L 2 s 2 L 3 s 23 L 4 s 234 ) c1 (L 2 c 2 L 3 c 23 L 4 c 234 ) c1 (L 3 c 23 L 4 c 234 ) L 4 c1c 234 J c1 (L 2 s 2 L 3 s 23 L 4 s 234 ) s1 (L 2 c 2 L 3 c 23 L 4 c 234 ) s1 (L 3 c 23 L 4 c 234 ) L 4 s1c 234 0 L 2 s 2 L 3 s 23 L 4 s 234 L 3 s 23 L 4 s 234 L 4 s 234 על פי שוויון ,63.6המניפולטיביות תהא במקרה זה . Mq det J J T נסמן a 1 L 2 s 2 L 3 s 23 L 4 s 234 a 2 L 3 s 23 L 4 s 234 a 3 L 4 s 234 b1 L 2 c 2 L 3 c 23 L 4 c 234 b 2 L 3 c 23 L 4 c 234 b 3 L 4 c 234 לחישוב המניפולטיביות השתמשנו במנוע המתמטי Mapleבאופן הבא: 138 ד"ר ניר שוולב מבוא לרובוטיקה restart: with(linalg):with(LinearAlgebra): קיצורים alias(seq(c[i]=cos(t[i]),i=1..4), seq(s[i]=sin(t[i]),i=1..4)): הגדרת מטריצת היעקוביאן J:= Matrix((3,4),[[-sin(t1)*a1, cos(t1)*a1, cos(t1)*a2, cos(t1)*a3, cos(t1)*a1, ;)]]sin(t1)*b1, sin(t1)*b2, cos(t1)*b3,0,-a1,-a2,-a3 חישוב המניפולטיביות ;) JT:=Transpose(J ;))) M:=sqrt(simplify(Determinant(J.JT והביטוי למניפולטיביות הוא: Mq a 1 (a 1 b 2 a 1 b 3 a 2 b1 a 2 b 3 a 3 b1 a 3 b 2 2a 1a 2 b1b 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ) 2a 1a 3 b1b 3 2a 2 a 3 b 2 b 3 (ב) היעקוביאן המתאים הוא: L c L 3 c 23 L 4 c 234 L 3 c 23 L 4 c 234 L 4 c 234 J' J1 0 2 2 L 2 s 2 L 3s 23 L 4 s 234 L 3s 23 L 4 s 234 L 4 s 234 ומחישוב Mq det J J T נקבל: Mq a 1 b 2 a 1 b 3 a 2 b1 a 2 b 3 a 3 b1 a 3 b 2 2a 1a 2 b1 b 2 2a 1a 3 b1 b 3 2 2 2 2 2 2 2 2 2 2 2 2 2a 2 a 3 b 2 b 3 כדרוש .נשים לב שהביטוי למניפולטיביות הרובוט כולו היא מנת המניפולטיביות של שלשת המפרקים הדיסטאליים בהיטל החוליות הדיסטאליות על מישור .Z כלומר ,המניפולטיביות מתאפסת כאשר ההיטל מתאפס ,או אז מאבד הרובוט את יכולתו לנוע לכיוון מסוים (לאן?) שאלה :40.6עבור הרובוט ,מהן הקונפיגורציות בהן המניפולטיביות (ביחס למיקום התפסנית בלבד) שלו מקסימאלית? פתרון( :א) בתרגיל 9.9חישבנו את היעקוביאן בהתאם לדרישה. בסעיף א' ניקח את שלשת השורות הראשונות בלבד ונחשב את המניפולטיביות כדטרמיננטה של היעקוביאן. ד"ר ניר שוולב מבוא לרובוטיקה c 1s 2 s 1s 2 - c 2 מדד המניפולטיביות יהיה: - L 2 s 1s 2 L 1s 1 J L 2 c1 c 2 L1 c1 0 L 2 c1 c 2 L 2 s 1s 2 L 2s 2 . Mq L 2 s 2 L 2 L1 מכיוון שלא קיימת תלות בזווית , 1 M 2 ע"מ למצוא את האופטימום נגזור את הביטוי לפי , 2ונקבל L 2 c 2 0 : 2 . כלומר 2 / 4 : הערה :עבור רובוטים רבים 16המניפולטיביות המקסימאלית מתקבלת דווקא על שפת מרחב העבודה ,וכיוון שכך מדד המניפולטיביות אינו מספק ויש לקבל את תוצאותיו בעין בוחנת. שאלה :40.1עבור רובוט מדגם SCARAבעל 9דג"ח RRRPשנידון בשאלה :1.9מהן הנקודות מהן יש להיזהר ? מהו המיקום הגיאומטרי של התפסנית ,ביחס למערכת הבסיס ,כך שמשימה בנקודה זו תבוצע באופן הטוב ביותר משיקולים קינמטיים? בטא את משוואת המיקום הגיאומטרי באמצעות שאר הפרמטרים של הרובוט. פתרון :כפי שכבר ציינו היעקוביאן של הרובוט הוא: 0 0 1 0 0 0 L1c1 L 2 c12 L1s1 L 2 s12 0 0 0 1 0 L 2 c12 0 L 2 s12 0 0 J 0 0 0 0 1 1 הרובוט מסוגל לתנועה במרחב בתוספת סיבוב סביב ציר ,Z0ולכן החלק ביעקוביאן שמעניין אותנו הוא: 0 0 1 0 L1c1 L 2 c12 L1s1 L 2 s12 0 1 0 L 2 c12 0 L 2 s12 J 0 0 1 1 16עבור רובוטים צילידריים ,אורתוגונאליים ,וכאלו בעלי מפרק פריזמטי בכיוון הרדיאלי. 139 מבוא לרובוטיקה 141 נקבל . det J L1L 2 s 2מכאן ,שמצב סינגולארי יתקבל אם: ד"ר ניר שוולב 2 0, ואלו הן קונפיגורציות אליהן לא נרצה להגיע .הקונפיגורציות הרצויות לעומת זאת ,הן אלו בעלות מדד המניפולטיביות המקסימאלי .נשתמש ב 63.9לקבלת התנאי . 2 3/2, / 2 אחת המשימות העיקריות בתכנון מערכת רובוטית היא נושא בָּ ַקרתו (הספר אינו עוסק בנושא) ,כלומר אופן פעולה שיבטיח הגעת התפסנית למקומה הרצוי .הקורא וודאי מבין שבכדי לעמוד במשימה ,על בקר הרובוט להבטיח הגעת כל מפרק למקומו הרצוי .בכדי לעשות כן ברור כי על הבקר להיות מעודכן בכל רגע במצבו של כל מנוע ומנוע ברובוט. בכדי לאפשר זרימת נתונים כזו נהוג להציב על גבי המנועים מקודדים ()Encoders 17 – אלו מסוגלים לקרוא את מצב המנועים (באופן אבסולוטי -כלומר קריאת זווית המנוע ,או באופן יחסי למצבו הקודם – כלומר קריאת כיוון התנועה בלבד). כפי שניתן להתרשם מדיאגראמת הבלוקים ,הנתונים על מצב המנועים זורמים לבקר ,זה מעדכן את מצב הרובוט ,ובהתאם לאלגוריתם תנועה רצוי בוחר הבקר את מיקום התפסנית הרצוי .באמצעות חישוב הקינמטיקה ההפוכה מחשב הבקר את מצב המנועים הרצוי .בקרת כל אחד מן המנועים נעשית בחוג נפרד.18 דרישה מרכזית מרובוט ,אם כן ,היא יכולתו להגיע למיקום רצוי באופן מדויק .בכדי לכ ֵמת יכולת זו נגדיר מספר מדדים: 17סוג מסוים של מנועים הקרויים מנועי סרוו ( )Servo Motorsמכילים מקודד ובקר עצמאיים .בחלקם אף ניתן לקרוא את מצב המנוע באמצעות פוטנציומטר המאפשר קריאה מדויקת יותר. 18האלגוריתמים המקובלים לבקרת מנועים חשמליים מבוססים על הרעיון שבמידה ונוצר פער בין המיקום הרצוי של המנוע ומיקומו האמיתי ,הבקר שולח פקודות תיקון למנועים במטרה למזער את . הבקרה על המנועים מתבצעת במגוון שיטות מן הנפוצות שבהן נמנה ארבעה ( )6בקרת Bang Bangשמשמעותה שברגע שהמנוע מגיע למקומו נשלחת פקודה להפסקת פעולתו ( )9בקר פורפורציונאלי ( )Pשהוראותיו למנועים פרופורציוניות לשגיאה )0( בקר אינטגראלי ( ) Iשהוראותיו למנועים פרופורציוניות לאינטגרל השגיאות בזמן )9( dtבקר דיפרנציאלי ( )Dשהוראותיו למנועים פרופורציוניות נגזרת השגיאות בזמן . / tמקובל מאוד לשלב בין השיטות ,לדוגמא :בקר PIDמתבסס על סכימה של ( )0(,)9ו (.)9 ד"ר ניר שוולב מבוא לרובוטיקה הגדרה :רזולוציית מנוע ) (Motor Resolutionמוגדרת כתנועה המבוקרת הקטנה ביותר שאותה יכול המנוע לבצע .רזולוציית המנוע נקבעת ע"י אלגוריתם הבקרה (מכונה לעיתים רזולוציית התוכנה) ועל פי החומרה בה משתמשים לבקרתו (בעיקר המקודד והרכיבים המכאניים ,זו מכונה לעיתים רזולוציית החומרה) .רזולוציות אופייניות עבור מפעילים ליניאריים נעות בין עשיריות המילימטר למאיות המילימטר ,ואילו עבור מפעילים סיבוביים עשיריות המעלה. לדוגמא ,עבור מקודד אופטי למנוע סיבובי ,הפולט כ 6333 -פולסים בכל סיבוב ,תהא רזולוציית החומרה של המנוע (בהנחה שאלגוריתם הבקרה אינו מגביל את הרזולוציה) כ- .3.093 הגדרה :רזולוציית הרובוט ) (Robot Resolutionמוגדרת כתנועה המבוקרת הקטנה ביותר שאותה יכולה התפסנית לבצע ,ומסומנת ב .)Basic Resolution Unit( BRUשימו לב שתרומת מפעיל ליניארי לרזולוציית הרובוט אינה כתרומת מפעיל סיבובי .רזולוציות אופייניות נעות בין עשיריות מילימטר למאיות מילימטר. לבד מהאלגוריתמים של הבקרה עבור כל מנוע והחומרה בה משתמשים לבקרתם ,מושפעת רזולוציית הרובוט גם מתופעת החזרה המכאנית ) .(Backlashתופעה זו מוגדרת כתזוזה לא רצויה הנובעת מהחופשים המכאניים במפרקים (וכן בבממסרות ,בברגים מובילים ובמפעילים שונים) ומגמישות החוליות. שאלה :40.2נתון הרובוט משאלה .63.0לכל המנועים מחוברים מקודדים בעלי 6399פולסים לסיבוב .בצירים הסיבוביים 6ו 9-מחוברת תמסורת הורדה 6:63בין המפרקים למנועים. הציר הליניארי 0בנוי כבורג הנעה המחובר למנוע ,באופן בו כל 69סיבובי מנוע מניעים את המפרק הליניארי בכ 6-מ"מ. , L1 L 2 1500mmוהאורך המקסימאלי של המפרק השלישי אף הוא . 1500mmמהי רזולוציית הרובוט ? כיצד תוכל לשפר אותה ? תשובה :בצירים 6,9המקודדים מחוברים כאמור למנועים ואלו מחוברים באמצעות תמסורת למפרקים .ולכן ,עבור כל סיבוב של המפרק יפלוט המקודד 1024 10 10,240פולסים. המרחק המקסימאלי שעוברת התפסנית בסיבוב אחד של המפרק הראשון הוא 2L1 L 2 2L1 L 2 ולכן רזולוציית המפרק הראשון היא 1.8mm 10,240 2L 2 דומה התרומה לרזולוציה הנובעת מהמפרק השני היא 0.9mm 10,240 . R 1 באופן . R 2 כאמור, יחידת הקצה נעה לכל היותר מילימטר אחד בכל עשרה סיבובי מנוע ולכן רזולוציית המפרק 1 הליניארי היא 8 10 5 mm 1024 12 . R 3 שימו לב ש R 1 , R 2 R 3ולמעשה 141 מבוא לרובוטיקה 142 ד"ר ניר שוולב זו האחרונה אינה תורמת לרזולוציה ,כפי שציינו בהגדרת כושר ההפרדה .הרזולוציה הכוללת תהיה אם כן . R 1 2 R 2 2 R 3 2 2mmהדרישה האופיינית מרזולוציית הרובוט היא מילימטר יחיד ,ובכדי לשפר את כושר ההפרדה נוכל )6( :להקטין את אורך החוליות ()9 להגדיל את רזולוציית המקודדים ( )0להשתמש בתמסורות 6:93עבור המפרקים .6,9 מהשאלה האחרונה מתבהר כי מדד כושר ההפרדה (=הרזולוציה) מתייחס למידת התנועה המינימאלית במצב בו התנאים לכך הם הגרועים ביותר .לעיתים נתעניין בביטוי מדויק למידת התנועה המינימאלית עבור קונפיגורציה מסוימת – כלומר כושר ההפרדה כתלות בקונפיגורציה זו מכונה בספרות מפת הרזולוציה ):(Resolution Map שאלה :40.6כתבו ביטוי למפת הרזולוציה עבור הרובוט המישורי .RR תשובה :הקינמטיקה הישירה עבור הרובוט נתונה כ: x L1c1 L 2c12 y L1s1 L 2s12 כושר ההפרדה של כל מנוע 1 , 2 ברובוט מרמז כי כל קונפיגורציה 1 , 2 ידועה עד כדי 1 1 , 2 2 נבצע את ההחלפה ונקבל ) x L1c os(1 1 ) L 2c os(1 1 2 2 ) y L1s in (1 1 ) L 2s in (1 1 2 2 3 נזכור ש .. - , cos() 1 וכן .. !2 !3 2 . sin() אם נשמיט את האיברים מסדר גבוה נקבל אם כן, x L1 c1 L 2 c12 L1 sin(1 )1 L 2 sin(1 2 )1 2 y L1s1 L 2s12 L1c os(1 )1 L 2 cos(1 2 )1 2 נשים לב שהתקבל למעשה הביטוי: L 2s12 1 J 1 L 2c12 2 2 x - L1s1 L 2s12 y L1c1 L 2c12 והביטוי לרזולוציה עבור קונפיגורציה 1 ,2 מסוימת יהיה: ד"ר ניר שוולב מבוא לרובוטיקה 143 x 2 y2 L1 1 L2 1 2 212 2 L1L2 cos(2 )1 2 1 2 2 2 2 2 הדיוק הכולל של הרובוט ,מוגדר 19כיכולתו של רובוט למקם את יחידת הקצה שלו בנקודה רצויה .הביטוי המתמטי נתון בנוסחה: x )(10.3 i x i n A כאשר x i , xמציינים בהתאמה את מיקום הרצוי אליו כיוונו את יחידת הקצה, והמיקומים האמיתיים אליהם הגיעה התפסנית בסדרת הניסויים. nמציין את מספר הניסויים שנעשו למדידת ההדירות .סדרת הניסויים מתבצעת כולה תחת אותם תנאים. הקורא הנאיבי יטען כי ערך מדד הדיוק הוא כמחצית מדד הרזולוציה לכל היותר ,ולא יטעה בהרבה (ראה איור) .בכדי לשכלל את הגדרתו יש לכלול אי דיוקים מכאניים ואחרים שמיד נגדיר ונכנה אותם בשם מדד ההדירות .מדד הדיוק המלא מודגם אף הוא באיור וכולל את החלק המדיד (מדד הרזולוציה) ואת החלק הסטטיסטי .אנו זקוקים למדד סטטיסטי (מדד ההדירות) המודד את טעויות ההגעה של יחידת הקצה .במילים אחרות ,מדד ההדירות מודד את יכולתו של הרובוט להגיע לנקודה נתונה במרחב העבודה מספר רב של פעמים. הגדרה :מדד ההדירּות ) (Repeatabilityמוגדר כממוצע סטיות יחידת הקצה ממיקומה הרצוי. הביטוי להדירות ניתן בנוסחה: 19על פי הגדרת תקן .ANSI/RIA R15.05-1קיימת הגדרה חילופית לדיוק הכולל על פי תקן ISO 9283 144 ד"ר ניר שוולב מבוא לרובוטיקה x i x i )(10.4 n R כאשר x i , x, nמציינים בהתאמה את מספר הניסויים שנעשו למדידת ההדירות ,את ממוצע המיקומים אליהם הגיעה התפסנית במהלך הניסוי ואת אוסף המיקומים האמיתיים אליהם הגיעה התפסנית בסדרת הניסויים .סדרת הניסויים מתבצעת כולה תחת אותם תנאים. הקשר בין המושגים נתון בנוסחה: )(10.5 1 BRU R 2 A הערה :מדד הדיוק תלוי בתנאי העמסה (לדוגמא ,ככל שזרוע הרובוט מתוחה יותר כך גדלים המומנטים שחשים המפרקים ,ואיתם קטן מדד הדיוק) .מנגד ,מדד ההדירות כמעט ואינו תלוי בהעמסה ולכן רוב יצרני הרובוטים מעדיפים לציין את ההדירות. תרגילים נוספים: 11.7נתון חלק גלילי בקוטר . 20 00..31מהו הדיוק הדרוש מרובוט בכדי להציב את החלק בדיוק בתוך חור גלילי בקוטר ? 2100..21 תשובה :על דיוק הרובוט להיות לפחות 3.0מ"מ. 11.8הוכח כי עבור רובוט לא יתיר הביטוי למניפולטיביות נתון כדטרמיננטה של מטריצת היעקוביאן. 11.9התאם את הבאים ,נמק. א .חוליות הרובוט גמישות .1 מדד הדיוק גבוה ב .המקודדים מחוברים למפרק ללא ממסר .2 מדד דיוק נמוך ג .הרובוט מצויד במערכת המזהה ישירות את מיקום התפסנית .3 הדירות ודיוק גבוהים .4 הדירות גבוהה ד .רובוט מקבילי ד"ר ניר שוולב מבוא לרובוטיקה .66רובוטים מקביליים רובוט מקבילי הוא כזה שאחת מהשרשראות הקינמטיות שלו מחברת את יחידת הקצה חזרה לבסיס (ראה תמונה). רובוטים מקביליים עדיפים על רובוטים טוריים שבהם עסקנו עד כה ,מבחינת הקשיחות ,מיקום המפעילים ,ודיוק. לדוגמא ,האקטואציה ברובוט שבתמונה (שמשמש לפעולות אריזה מהירות במיוחד) נעשית כולה מבסיסו ,כלומר המפעילים שולטים במפרק הראשון בלבד בכל זרוע .יתרה מזאת ,כיוון שהעומס עליהם מתחלק בין מספר רגליים ובדרך כלל העומס על הרגליים הוא צירי בלבד ,הרובוטים רובוט מקבילי מסוג Delta המקביליים מתוכננים לעמידה בעומסים גבוהים יותר. רובוטים מקביליים הפכו לחלק בלתי נפרד (אם כי קטן יותר) ממערך הרובוטים במחקר ובתעשייה .בין השאר ניתן למצוא רובוטים מקביליים לסימולטורים לטיסה ,מכאניזמים תעשייתיים ,אפליקציות הדורשות דיוק רב (ראה לדוגמה רובוט רפואי של חברת Mazorראה [ ]93ברשימת המקורות) ורובוטים בטכנולוגית .MEMS מצד שני הרובוטים המקביליים קשים לבקרה ובעלי מרחב עבודה מצומצם יותר מאשר אלו הטוריים .בפרק הנוכחי נעמוד על הקינמטיקה הישירה וההפוכה של רובוטים מקביליים, ונעסוק במטריצת היעקוביאן שלהם .בגלל מורכבות החישוב רוב הדוגמאות בפרק תעסוקנה ברובוטים מקביליים מישוריים. נסכם את היתרונות והחסרונות של רובוטים מקביליים בטבלה הבאה: יתרונות חסרונות העומס מתחלק על פני מספר רגליים. יש להימנע מהתנגשות עצמית של חלקי הרובוט ,תופעה שכמעט אינה קיימת עבור הרובוטים הטוריים לא יתירים. דיוק וקשיחות גבוהים בהרבה מזרוע טורית. מרחב העבודה הוא "בערך" החיתוך של מרחבי העבודה של כל הזרועות .ולכן קטן יותר בדרך כלל מזה של הרובוט הטורי. בעיית הקינמטיקה ההפוכה פשוטה. אפשרות לשש דרגות חופש ,אע"פ שהזרועות קצרות ולכן ממדי הרובוט קטנים יותר. אפשרות למקם את המפעילים בבסיס בלבד ובאופן זה מומנט האינרציה ,כנגדו המפעילים עובדים ,קטֵ ן. בעיית הקינמטיקה הישירה קשה ורבת פתרונות. 145 146 ד"ר ניר שוולב מבוא לרובוטיקה הגדרה :רובוט ,שהשרשרת הקינמטית שלו מכילה לולאות סגורות נקרא רובוט מקבילי ).(Parallel robot הערה :פרקטית ,רובוט מקבילי יהיה מורכב מפלטה נייחת ופלטה ניידת ,המחוברות ביניהן ב K-זרועות .לשם פישוט הביטויים המתמטיים בדרך כלל בוחר המתכנן את שתי הפלטות, כמישוריות .בכדי למנוע כפיפת הזרועות ככל שניתן המתכננים מעדיפים בד"כ מפרקי UוS- בתכנון רובוט מקבילי. הערה :משפחה נוספת של רובוטים מקביליים היא רובוטי חוטים או מריונטות ) . (Marionetteרובוטים אלו אוחזים בפלטפורמה הניידת באמצעות חוטים .יתרונם של רובוטים כאלו היא במהירות תגובתם (מומנטי האינרציה של החוטים אפסי) .השוני העיקרי מרובוטים מקביליים רגילים היא הצורך להבטיח מתיחות חיובית בחוטים. רובוט מקבילי ,אם כן ,מכיל שרשראות סגורות כדוגמת מכאניזם nמוטות .מכאניזם כזה הוא בעל n-3דרגות חופש .כלומר להנעתו דרושים n-3מנועים בעוד ששלשת הנותרים נשארים פסיביים .יוצא מזה ,אפוא ,שכל רובוט מקבילי יכיל מספר מפרקים לא ממונעים. ברובוט HEXAלדוגמא קיימים 61מפרקים ,אולם בכדי להפעיל את הרובוט דרושים רק 9 מנועים .נסמן את המפרקים האקטיביים בעזרת קו תחתון .פלטפורמת סטיוארט לדוגמא תסומן כ .6UPS דוגמא :הרובוט המקבילי 6UPSמסוג Stewart's ( platformראה תמונה בפרק ראשון ואיור משמאל) בנוי מפלטה ניידת ופלטה נייחת המחוברות ביניהן באמצעות שש זרועות .כ"א מהזרועות בנויה ממפרק קרדן פסיבי ,Bמפרק פריזמטי ממונע Cומפרק ספרי פסיבי .Aהשרשרת (פלטה נייחת -זרוע א' -פלטה ניידת -זרוע ב') מהווה שרשרת קינמטית סגורה. נחשב את מספר המנועים הדרושים להפעלת רובוט מקבילי :מספר המנועים שווה כמובן למוביליות (ראה פרק ראשון) של המכאניזם .כזכור: )(1.2 M 6n -1 - g f i i לכן עבור פלטפורמת סטיוארט נקבל אמנם: 614 - 1 - 6 6 6 2 6 1 6 3 6 6 p s u p s u כאשר 69מציין את מספר החוליות במכאניזם (כל זרוע מכילה 9זרועות שמופרדות במפרק פריזמטי) .מהתוצאה מתברר שאפשר להפעיל את ששת המנועים באופן בלתי תלוי ,ובעזרתם ד"ר ניר שוולב מבוא לרובוטיקה אפשר לחולל מהירות זוויתית ומהירות קווית בששה מימדים בכל נקודה במרחב העבודה (פרט לנקודות הסינגולאריות). דוגמא נוספת :הרובוט המקבילי 6RUSמסוג ( HEXAאיור משמאל) בנוי מפלטה ניידת ומפלטה נייחת המחוברות ביניהן באמצעות שש זרועות .כ"א מהזרועות בנויה ממפרק סיבובי ממונע ,Cמפרק קרדן פסיבי Bומפרק ספרי פסיבי .Aסה"כ: 6 14 - 1 - 6 6 6 2 6 1 6 3 6 6 r u s s u r אם מספר דרגות החופש קטן מ ,9-בדומה למה שקרה עבור רובוטים טוריים ,ונרצה להזיז את הפלטפורמה באופן מסוים ,נאלץ להסתדר עם תלות בלתי רצויה בתנועה.20 כפי שציינו קודם ,בעיית הקינמטיקה ההפוכה עבור רובוטים מקביליים פשוטה לפתרון: בהינתן מיקום ואוריינטציה של הפלטפורמה הניידת נוכל לחשב בקלות את שיעורי נקודת העגינה של כל הזרועות ,הן בפלטפורמת הבסיס והן בפלטפורמה הניידת ,ובעזרתן נוכל לקבוע את הקינמטיקה ההפוכה לכל זרוע בנפרד .למרות האמור ,לרוב קיימות מספר דרכים לניסוח הבעיות ההפוכה והישירה עבור רובוטים מקבילים ,ובכדי להקל על הפתרון יש לבחור כמובן את הניסוח הנוח מביניהם .נדגים את פתרון בעיית הקינמטיקה הישירה וההפוכה: תרגיל 44.4נתון מכאניזם 9מוטות שבאיור עם המפרק האקטיבי )6(. θ9חשב את המוביליות שלו ( )9רשום את משוואות הקינמטיקה באמצעות קטיעה דמיונית של המכאניזם למכאניזמים הבלתי תלויים הבאים)9.6( : ללא קטיעה )9.9( .הקטיעה תתבצע במפרק שלוש)0( . פתור את בעיית הקינמטיקה הישירה )9( .פתור את בעיית הקינמטיקה ההפוכה. תשובה )6( :המוביליות של המכאניזם היא . F 3 n -1 - g f i i 34 -1 - 4 4 1 1 כלומר ,המכאניזם דורש מפעיל יחיד בעוד ששאר המפרקים פאסיביים )9.6( .בכדי לקבל את משוואות האילוץ הקינמטיות נעקוב אחר מיקום המפרקים לאורך השרשרת הקינמטית .12341באופן זה תתקבל מערכת המשוואות: 0 L1c os(1 ) L 2 c os(1 2 ) L 3c os(1 2 3 ) L 4 x: ) 0 L1 sin(1 ) L 2 sin(1 2 ) L 3 sin(1 2 3 y: התקבלו שתי משוואות בנות שני נעלמים 2 , 3ופרמטר ידוע יחיד )9.9( . 1אם "נפרק" את המכאניזם במפרק שלוש לשני מכאניזמים נפרדים – האחד מנגנון RRהכולל את חוליות 6ו- 20לשם דוגמא אם נרצה להזיז את הפלטפורמה בזווית ΔØסביב ציר Xניאלץ להזיז את הפלטפורמה גם סביב ציר אחר. 147 148 ד"ר ניר שוולב מבוא לרובוטיקה ,9והשני מנגנון Rהמורכב מחוליה שלוש בלבד -משוואות האילוץ הקינמטיות תבטחנה את חיבורן של יחידות הקצה (של שני המנגנונים) בנקודה משותפת: ) L1c os(1 ) L 2 c os(1 2 ) L 4 L3c os(2 4 x: ) L1 sin(1 ) L 2 sin(1 2 ) L3 sin(2 4 y: כיוון ש 1 2 3 4 2 -שתי מערכות המשוואות שהתקבלו זהות. ( )0נשתמש במערכת השנייה .מהעלאה בריבוע וחיבור שתי המשוואות יתקבל: ) L1 L 2 2 L1L 2 c os(2 ) L 4 L3 2 L 4 L3c os(4 2 2 2 2 המשוואה שקיבלנו מתארת את השוויון במרחק מהראשית למפרק שלוש ,מחושב בשני מסלולים :האחד דרך חוליות 6ו ,9-והשני דרך חוליות 0ו .9-נסדר את המשוואה ונקבל ) L L 3 L1 L 2 2 L1L 2 c os( 2 , c os( 4 ) 4ולכן אם נניח שהתפסנית ממוקמת 2 L 4 L3 2 2 2 2 במפרק השלישי ,פתרון הקינמטיקה הישירה יתקבל מהצבת הביטוי ל c os(4 ) -למשוואות האילוץA1 c os(1 ) B1 sin(1 ) C1 0, A 2 cos(1 ) B2 sin(1 ) C2 0 : כאשר: A1 2 L 4 L1 2 L 4 L 2 c os( 2 ) 2 L 4 L 2 ) B1 2 L 4 L 2 sin( 2 ) C1 3 L 4 L 3 L1 L 2 2 L1L 2 c os( 2 2 2 2 2 ) A 2 L 2 sin( 2 ) B 2 L1 L 2 cos( 2 2 L 4 2 L 3 2 L1 2 L 2 2 2 L1L 2 c os( 2 ) 1 2 L L 4 3 C2 L3 A1C 2 A 2 C1 ומכאן נקבל : . 1 2 tan 1 ולבסוף ,הביטוי למיקום B1C 2 B 2 C1 A1B 2 A 2 B1 התפסנית נתון בביטוי: ) x L1c os(1 ) L 2 c os(1 2 ) y L1 sin(1 ) L 2 sin(1 2 ד"ר ניר שוולב מבוא לרובוטיקה ( )5בהנחה שיחידת הקצה ממוקמת במפרק השלישי ונתון מיקומה , x, y שיעורי הזווית 2 יקבעו בפשטות על ידי משפט הקוסינוסים . L12 L 2 2 2 L1L 2 c os(2 ) x 2 y 2 תרגיל :44.5נתון הרובוט המישורי 3RRRעם זוויות ( θ)iבמפרקים האקטיביים(.א) חשב את המוביליות שלו( .ב) פתור את בעיית הקינמטיקה ההפוכה( .ג) נסח את בעיית הקינמטיקה הישירה. תשובה( :א) המוביליות של הרובוט נתונה באמצעות נוסחות :Gruebler 38 1 9 9 1 3 (ב) נתונים מיקום (נניח של מרכז הפלטפורמה) ואוריינטציה של הפלטפורמה . x, y, דרושים ערכי המפרקים האקטיביים (.θ)i נסמן ב b(1), b(2), b(3) -את מיקומי נקודות העגינה של הזרועות על הפלטפורמה הניידת .כאשר ) b(iנתונים במערכת הפלטפורמה הניידת ' ,Oולכן במערכת העולם (מערכת )Oיהיה הווקטור ) ,0b(i)=Rz(θ)∙b(iכאשר ) Rz(θמטריצת הסיבוב של הפלטפורמה .כעת ,אם נסמן ב B(1) ,B(2) ,B(3) -את ווקטורי המיקום של מפרקי הבסיס של שלושת הרגליים ,וב P-את מיקום מערכת צירים ' , Oנקבל כי R Z b i P Bi הוא המרחק בין מפרק הבסיס למפרק העגינה ברגל ה-i-ית .וכמובן ,ידוע הקשר: ) R Z θ b i P Bi L 2 L1 - 2L1L 2 cos θ (i 2 2 כאשר ) θ(iהזוויות בין שתי חוליות ברגל ה-i-ית ,ו L1 , L 2 -אורכי החוליות הפרוקסימאליות והדיסטאליות .מכאן ניתן למצוא בקלות את ).θ(3) ,θ(2) ,θ(1 (ג) נתונים ערכי המפרקים האקטיביים {( .}θ)iדרושה האוריינטציה θוהמיקום של הפלטפורמה .לשם פשטות ,במקום לחפש את Pוהאוריינטציה מפורשות ,נסתפק במיקום נקודות העגינה ) 3b(1), 0b(2), 0b(3במערכת העולם .Oנרשום את שלשת המשוואות: i 1,2,3 ) b i Bi L 2 L1 - 2L1L 2 cos θ (i 2 2 0 149 מבוא לרובוטיקה 151 ד"ר ניר שוולב ובנוסף ,אם Lיציין את אורך צלע הפלטפורמה הניידת נקבל את שלשת המשוואות: i j 1,2,3 b i b j L i 0 התקבלו 9משוואות ריבועיות בלתי תלויות (עם ששת הנעלמים שהם שיעורי Xו Y-של . b מכיוון שכל בחירה של ערכי המפרקים יכולה להתבטא במרפק עליון או מרפק תחתון, ולרובוט שלש רגליים ,לכל היותר יהיו לרובוט 1פתרונות לקינמטיקה הישירה. בעיית הקינמטיקה הישירה עבור רובוטים מקביליים מערבת ,לרוב ,מערכת משוואות ריבועיות קשה לפתרון ,ובדרך כלל נאלץ להסתפק בפתרונות נומריים איטראטיביים ,כפי שניווכח בשאלה הבאה: תרגיל :44.6הרובוט 3RPSהמרחבי שבאיור הוא בעל שלוש רגליים .כל רגל חופשית להסתובב על גבי מפרק סיבובי פסיבי שקבוע בבסיסה .צירם של שלשת המפרקים הסיבוביים שבבסיס הרובוט מאונכים לקו המרחק שלהם מראשית הצירים (הקווים המקווקווים שבאיור) .זווית כל רגל ביחס למישור הבסיס מסומנת ב- . iהמפרק המרכזי בכל רגל הוא מפרק פריזמטי אקטיבי ואורכו . L1 , L 2 , L 3כל רגל מחוברת בקצה לפלטה ניידת באמצעות מפרק סיבובי פסיבי( .א) כמה דרגות חופש לרובוט? (ב) רשום את משוואות האילוצים הקינטיים( .ג) פתור את בעיית הקינמטיקה הישירה. תשובה (א) המוביליות של הרובוט ( F 6n - 1 - g f i i 68 - 1 - 9 3 3 9 3ב) לשם מעקב קל אחר הפתרון זכרו כי הסימון R A B מתייחס למטריצת הסיבוב המתארת את מערכת Bבמערכת קואורדינאטות .Aכמו כן נסמן את מיקום נקודה Pבמערכת צירים A ב( A P -ראה פרק .)9 נצמיד שתי מערכות צירים :האחת Bx, y, z למרכז בסיס הרובוט התחתון ,והשנייה Pu, v, w למרכזה של הפלטפורמה הניידת .עבור הפלטה התחתונה נסמן את נקודות החיבור ב( B1 , B2 , B3 -כתובות במערכת ) Bx, y, z כבאיור ,ונניח שמרחקן מהראשית Bx, y, z הוא bכבאיור .הביטוי לנקודות אלו נתון ב: ד"ר ניר שוולב מבוא לרובוטיקה B1 b1,0,0 T T b 1, 3 ,0 2 T b B3 1, 3 ,0 2 B2 נסמן את מיקום נקודות החיבור לפלטה הניידת ב( P1 , P2 , P3 -כתובות במערכת ) Pu, v, w כבאיור .הביטוי לנקודות אלו ביחס למערכת Bx, y, z נתון ב: P1 b L1c1 ,0, L1s1 B L c b 3 b L 2 c 2 P2 2 2 , , L 2s 2 2 2 B L c b 3 L 3c3 b P3 3 3 , , L 3s 3 2 2 B T T T אם נניח שמרחקן אחת מהשנייה הוא pנוכל לרשום את מערכת המשוואות: P P p P P P P p P P P P p B 2 2 2 3 2 B B 1 B 1 B 2 B P1 B P2 3 B 3 B 1 B 2 B B 3 זו מערכת משוואות הכתובה בשישה משתנים :שלשה פאסיביים 1 , 2 , 3ושלשה אקטיביים . L1 , L 2 , L 3נפתח את שלושת המשוואות ונקבל: 3 3b 2 L1 L 2 L1L 2 c1c 2 2L1L 2s1s 2 3L1c1 3L 2 c 2 0 )(1 3 3b 2 L1 L 3 L1L 3c1c3 2L1L 3s1s 3 3L1c1 3L 3c3 0 )(2 3 3b 2 L 2 L 3 L 2 L 3c 2 c3 2L 2 L 3s 2s 3 3L 2 c 2 3L 3c3 0 )(3 2 2 2 2 2 2 (ג) הקינמטיקה הישירה מוגדרת כמציאת מיקום ואוריינטציית הפלטה Pכתלות בערכי המפרקים האקטיביים . L1 , L 2 , L 3נפתור את מערכת המשוואות ( )6-0בשיטת האלימינציה של סילבסטר (ראה נספח א'). מטרתנו הראשונית תהיה לפתור את מערכת המשוואות באופן שיאפשר למצוא את 3כתלות ב . L1 , L 2 , L 3 בכדי לבצע אלימינציה למשתנה 1נשכתב את המשוואות ( )6ו )9(-באופן הבא: 151 152 ד"ר ניר שוולב מבוא לרובוטיקה A1c1 B1s1 C1 0 A 2 c1 B2s1 C 2 0 כאשר , A1 L1L2c2 3L1 , B1 2L1L2s 2 , C1 3 3b 2 L12 L2 2 3L2c 2 B2 2L1L3s3 , A 2 L1L3c3 3L1ו. C2 3 3b 2 L1 L3 3L3c3 - 2 כעת נציב 1 tan 1 2 ולכן 21 2 1 1 , sin 1 2 1 1 cos 1 2 1 1 2 ו- ונקבל : Ai Ci 12 2Bi 1 Ai Ci 0עבור i=1,2מטריצת סילבסטר תהיה: A1 C1 0 A 2 C 2 0 התנאי של A1 C1 2B1 2B1 A 2 C2 2B 2 A1 C1 2B 2 A 2 C2 סילבסטר A1 C1 0 S A C2 2 0 לקיום יהא . det S A1C2 - A 2C1 2 - B1C2 - B2C1 2 + A1B2 - A 2 B2 2 0 פתרון משוואה הדטרמיננטה מערבת כמובן את המשתנים . 2 , 3 כעת ,נבצע שוב הצבת tanחצי זווית עבור הזווית . 2נשכתב את המשוואה ונקבל פולינום ב- . 2 tan2 / 2מקדמי פולינום זה יהיו פונקציות של 3 , L3ו . L1 -בכדי לחלץ את 3 נזדקק לפולינום נוסף ב 2עם מקדמים שהם פונקציות של 3 , L3ו . L1 -בכדי לקבל את הפולינום נשכתב את משוואה ( )0עם המשתנה , 2 tan2 / 2מקדמי פולינום זה יהיו פונקציות של 3 , L3ו. L1 - התקבלו ,אם כן ,שתי משוואות ב 2 -עם מקדמים שהם פונקציות של 3 , L3ו . L1נכתוב את מטריצת סילבסטר .נשווה את הדטרמיננטה שלה לאפס לקבלת משוואה פולינומיאלית מדרגה 211ב . 3 tan3 / 2 -על פי משפט גלואה 22אין אפשרות לפתור את המשוואה באופן אנליטי .עם זאת ,נוכל בודאי לפתור באופן נומרי את הדרוש .נוכל לעשות כן גם עבור . 1 ,2 21הביטויים למקדמי הפולינום ארוכים מדי להצגה .בפתרון בעיות מסוג זה מומלץ להשתמש בתוכנה מתמטית סימובלית כ.Maple- 22ווריסט גלואה Évariste Galoisמתמטיקאי צרפתי בן המאה ה 66-ממייסדי תורת החבורות ומייסדה של תורת גלואה .מצא את מותו בדו קרב בעודו בן 93לאחר שורה של תגליות (שקנו לו שם רק לאחר מותו) .הרקע לסכסוך היה ככל הנראה רומנטי .תרומתו העיקרית של גלואה הייתה הוכחה כי במקרה הכללי משוואות מבוא לרובוטיקה כעת, ד"ר ניר שוולב בהינתן ערכי הזווית 1 , 2 , 3כתלות ב L1 , L 2 , L 3 -נוכל למצוא את המיקום והאוריינטציה של Pע"י הצבה בנוסחאות ל . B P1 ,B P2 ,B P3 -מיקום מרכז הפלטה הוא כמובן . B P1 B P2 B P3 / 3את האוריינטציה נקבל ע"י בחירה בווקטור u B P1 B P2כווקטור בסיס ,ווקטור בסיס נוסף (מאונך ל ) u -יהיה . v u B P1 B P3 ולבסוף ,הווקטור המאונך ל u -ול v -יהיה . w u vסה"כ מטריצת האוריינטציה שהתקבלה תהיה: w w u u v v R P B נעבור כעת לעסוק בליניאריזציה לרובוטים מקביליים .אם נזכור שעבור רובוטים טוריים QOUT q1 , q 2 ,..., q n מסמן את משוואת האילוץ היא , QOUT FQin כאשר T קואורדינאטות התפסנית המוכללות (סיבוביות או לינאריות( ו QIN 1 , 2 ,..., m -את T ווקטור הקואורדינאטות המוכללות (סיבוביות או לינאריות( בכניסה .כלומר ,זוהי מערכת משוואות מהצורה qi Fi 1 , 2 ,..., m עבור . 1 i nגזירה לפי הזמן תניב את השוויון: )(6.2 F Q IN Q JQ OUT IN Q IN t כידוע Jהיא כידוע מטריצת היעקוביאן ומפורשות: F1 1 m t 2 t Fn m m t F1 2 dq1 F dt 1 dq 2 1 dt F2 1 Fn dq n 1 dt עבור רובוטים מקביליים הכתיבה המפורשת של קואורדינאטות התפסנית כתלות בקואורדינאטות המפרקים קשה ובדרך כלל גם בלתי אפשרית .יחד עם זאת נוכל לכתוב את הקשר בין הווקטורים באופן סתום .נסמן כעת ב QOUT q1 , q 2 ,..., q n -את אוסף כל T הקואורדינאטות במפרקים הפסיביים (סיבוביות או לינאריות( ,אלו למעשה פולינומיאליות ממעלה חמישית ומעלה אינן ניתנות לפתרון בנוסחה שמערבת שורשים ,ואפיון התנאים למקרים בהם הדבר כן ייתכן. 153 154 ד"ר ניר שוולב מבוא לרובוטיקה הקואורדינאטות של יחידת הקצה .23נסמן בQIN 1 , 2 ,..., m - T את ווקטור הקואורדינאטות המוכללות האקטיביות (סיבוביות או לינאריות( .משוואת האילוץ הסתומה FQin , QOUT 0 למעשה תהיה מערכת של n סתומות משוואות Fi 1 , 2 ,..., m , q1 , q 2 ,..., q n 0עבור . 1 i n כעת, באופן דומה שעשינו למה עבור הרובוטים F Qin F Qout 0 Qin t Qout t ובכתיב מטריצי נקבל: )(11.1 J Q 0 J in Q in out out הטוריים, נבצע גזירה: כלומר ,קיבלנו שתי מטריצות יעקוביאן: F1 q n Fn q n nn )(11.2 F1 q 2 F1 q1 F2 q1 Fn q 1 F1 m , Fn m nm J OUT F1 2 F1 1 F2 1 Fn 1 J IN נעיר :היעקוביאן J OUTיהיה תמיד מטריצה ריבועית .בדומה למקרה הרובוטים הטוריים, היעקוביאנים J OUT , J INיהיו תלויים בכל המשתנים המגדירים את הקונפיגורציה . 1 , 2 ,..., m , q1 , q 2 ,..., q n T הגדרה :לאור משוואה ( )66.9נוכל להגדיר מספר סוגי סינגולאריות )(Singularity types עבור רובוט מקבילי: .I .II .III J INאינה בדרגה מלאה. J OUTאינה בדרגה מלאה .כיוון שזו 24מטריצה ריבועית היא סינגולארית. J OUT , J INשתיהן אינן בדרגתן המלאה. v Qהמקיימים . J IN v 0כלומר ,קיים עבור סינגולאריות מסוג ,Iקיימים ווקטורים IN צירוף 0 של מהירויות במפרקים הפסיביים אשר רגעית לא יגרום למהירות ביחידת הקצה. 23המקרה הכללי ,בו אנו מכריזים רק על מספר מצומצם של קואורדינאטות פסיביות כעל קואורדינאטות יחידת הקצה ,מטופל באופן מעט שונה ב ]96[-וב [.]99 24במקרה בו אנו מכריזים רק על מספר מצומצם של קואורדינאטות פסיביות כעל קואורדינאטות יחידת הקצה, המטריצה הזו לא תהיה ריבועית. ד"ר ניר שוולב מבוא לרובוטיקה u Qהמקיימים , J OUT u 0כלומר קיים בסינגולאריות מסוג ,IIקיימים ווקטורים OUT צירוף 0 של מהירויות ביחידת הקצה ,אשר רגעית לא יגרור מהירות במפרקים האקטיביים .סינגולאריות מסוג IIIתיווצר כאשר שני סוגי הסינגולאריות יקרו יחדיו. הערה :באופן זהה למושג הסינגולאריות ברובוטים טוריים ,נשים לב שההתייחסות שלנו היא למהירויות ולתנועה רגעית בלבד .יטען הקורא הנאיבי בטעות שאם (לשם הדוגמא) המהירות ביחידת הקצה מתאפסת (סינגולאריות מסוג )Iהיחידה תהיה "תקועה" כי הרי אינה יכולה להתקדם ! טעותו נעוצה בעובדה שאמנם הנגזרת הראשונה של המיקום מתאפסת (המהירות) אבל לא קיימת ערובה לכך שהנגזרת השנייה והבאות אחריה מתאפסות .אלו בתורן יגרמו לתזוזה המיוחלת ,שכן פיתוח טיילור למיקום נתון כידוע כ- x0 t .. 2 תרגיל :44.6עבור רובוט ארבעה מוטות שדנו בו בתרגיל ,66.6מצא את מטריצות היעקוביאן, . xt x 0 x 0t אם מגדירים את 1כמפרק האקטיבי ,בעוד ש 2 ,4 -הם המפרקים הפסיביים. תשובה :בתרגיל 66.9מצאנו את הקשר: F1 (1 , 2 , 4 ) L1c os(1 ) L 2c os(1 2 ) L 4 L3c os(2 4 ) 0 F2 (1 , 2 , 4 ) L1 sin(1 ) L 2 sin(1 2 ) L3 sin(2 4 ) 0 נגזור את המשוואות האלו על פי שוויון (: )66.9 F1 F1 1 1 L1 sin(1 ) L 2 sin(1 2 ) F2 F2 L1 cos(1 ) L 2 cos(1 2 ) 21 1 1 F1 4 L 2 sin(1 2 ) L3 sin(4 ) F2 L 2 cos(1 2 ) L3c os(4 ) 22 4 F1 F1 q 2 2 F2 F2 q 2 2 J IN F1 q 1 F2 q 1 J OUT ומשוואה ( )66.6תהא: L1 sin(1 ) L 2 sin(1 2 ) L 2 sin(1 2 ) L3 sin(4 ) 2 1 L1 cos(1 ) L 2 cos(1 2 ) L 2 cos(1 2 ) L3c os(4 ) 4 שימו לב שמהירותה של חוליה (ראה איור) הקבועה לאדמה באמצעות מפרק סיבובי ומיקום קצהָּ בv - נתון כ , v v -כאשר v מסמן ווקטור 155 156 ד"ר ניר שוולב מבוא לרובוטיקה מאונך ל( v -תרגיל .)66.66מחד ,עבור המרחב התלת ממדי v אינו מוגדר כראוי, ולמעשה פורש תת מרחב ווקטורי בן מימד אחד .מאידך ,עבור המרחב הדו ממדי v מוגדר היטב .הבחנה זו מקלה במקרים רבים על האנליזה של רובוטים מקביליים מישוריים כפי שנראה בתרגיל הבא: תרגיל :44.8נביט ברובוט המישורי הבא ,שבו הפלטפורמה התנוונה לכדי נקודה (הרובוט מכונה .(Arachnoid בספרות נסמן את הווקטורים L0i , L1i , L2i כווקטורים מהראשית לבסיס הרגל ה- , iמבסיס הרגל ה i -למפרק השני ומן המפרק השני של הרגל ה i -ליחידת הקצה המרכזית ,בהתאמה. (א) מצא את הקשר הליניארי בין מהירויות הכניסה במפרקים האקטיביים 11 , 12 , 12 לבין מהירות יחידת הקצה( .ב) מהן הקונפיגורציות הסינגולאריות של הרובוט ? תשובה( :א) נחבר את הווקטורים עבור כל רגל מהראשית הנייחת Oלבסיס הרגל ,ומשם למפרק השני וליחידת הקצה .נקבל את מערכת המשוואות הווקטורית: P L01 L11 L21 P L02 L12 L22 P L03 L13 L23 כאשר P x, y T מיקום יחידת הקצה .זהו ייצוג ווקטורי למשוואת האילוץ . FQin , QOUT 0נשים לב שכיוון שאנו מעוניינים במיקום הנקודה בלבד (אין לה אוריינטציה) לא נקבל J OUTריבועית. Li L1i אם נגזור את משוואת האילוץ על פי הזמן נקבל L1i 1i , 0 0 : t t ובסה"כ: )(1) (1 ) (1 ) (1 )p L(1 ) 1 θ1 L 2 (θ1 θ2 ) )p L(1)θ (1) L(1) (θ (1) θ (1 2 ) θ (1 ) 2 1 2 ) (1 )L(1 2 (θ1 1 1 ) (1 )L(1 1 θ1 p ו- ד"ר ניר שוולב מבוא לרובוטיקה אנו מעוניינים בקשר הליניארי שבין מהירויות הכניסה במפרקים האקטיביים 11 , 12 , 12 לבין מהירות יחידת הקצה .נזכור ש v v 0לכל וקטור v ולכן בכדי "להפטר" מ 2i -נכפיל את המשוואה ב L2i -וקטורית ונקבל: L21 P L21 L11 11 L22 P L22 L12 12 L23 P L23 L12 12 ובכתיבה מטריציונית קיבלנו: 1 1 12 L23 L12 12 33 0 0 0 2 L 2 L12 0 L1 L1 L21 2 x 2 1 0 L 2 L3 y 0 2 32 התקבל הקשר 66.6כדרוש( .ב) הקונפיגורציות הסינגולאריות מסוג Iיתקבלו כאשר המטריצה J INבעלת דרגה לא מלאה, כלומר כאשר L2i L1i 0עבור לפחות אחד מה, 1 i 3 - כלומר כאשר לפחות אחת מהרגליים מיושרת . L2i || L1i הקונפיגורציות הסינגולאריות מסוג IIיתקבלו כאשר מטריצה J OUTבעלת דרגה לא מלאה ,כלומר כאשר L2i || L2jעבור שתי רגליים i jלפחות ,וכיוון שהחוליות הדיסטאליות האלו מחוברות בנקודת הקצה המשמעות של התנאי היא ששתי הרגליים מצויות על קו ישר יחיד. הקונפיגורציות הסינגולאריות מסוג IIIיתקבלו כאשר שני התנאים מתקיימים יחדיו ,כלומר כאשר שתי רגליים מיושרות מצויות על קו ישר יחיד. תרגיל :44.7עבור הרובוט המקבילי המישורי 3RRRשבאיור ,רשום את קשר המהירויות הליניארי. 157 מבוא לרובוטיקה 158 ד"ר ניר שוולב תשובה :המיקום של מרכז הפלטפורמה והאוריינטציה של הפלטפורמה יסומנו ב . x, y, -ידוע שהמפרקים האקטיביים הם ), (1) , ( 2) , (3 ושהמפרקים ) (1) , ( 2) , (3פסיביים .נסמן ב b(1), b(2), b(3) -את מיקומי נקודות העגינה של הזרועות על הפלטפורמה הניידת ,כאשר ) b(iנתונים במערכת הפלטפורמה הניידת ' .Oנסמן ב A (1) , A ( 2) , A (3) -את הווקטורים מבסיס הרגליים למפרק השני .ולבסוף נסמן ב B(1) , B( 2) , B(3) -את הווקטורים מהמפרק השני למפרק השלישי .אם ללא הגבלת הכלליות נמקם את ראשית הצירים בבסיס הרגל הראשונה ,משוואות האילוץ תהיה מהצורה:25 ) A (1) B(1 )x, yT b (1 לאחר גזירה לפי הזמן נקבל: x , y T b (1) (1) A (1) (1) B(1) בכדי "להפטר" מהאיברים המכילים את ערכי המפרקים הפסיביים ) (1) , ( 2) , (3נכפיל את המשוואה ב ) B (1ונקבל: T )B(1) x , y B(1) b (1) (1) B(1) A (1 הצורה 66.6שהתקבלה היא: 1 0 1 12 0 B (3) A ( 4) 12 33 0 )( 2 )B A ( 2 0 )B (1) b (1) x B (1) A (1 B ( 2) b ( 2) y 0 ( 3) ( 3) B b 0 33 ) B (1 ) B ( 2 ) ( 3 B 25שתי המשוואות המתארות את השרשראות הקינמטיות של הרגל השנייה והשלישית תהינה זהות, לבד מווקטור מיקום הבסיס שיתווסף לצד שמאל של המשוואה .אך מכיוון שפעולת הגזירה תאפס את האיבר הנוסף ,נוותר על כתיבה מפורשת של שלשת המשוואות. ד"ר ניר שוולב מבוא לרובוטיקה הקונפיגורציות הסינגולאריות מסוג Iשל הרובוט תהיינה (בדומה לתרגיל )66.3קונפיגורציות בהן אחת הרגליים מיושרות. הקונפיגורציות הסינגולאריות מסוג IIשל הרובוט תהיינה הקונפיגורציות בהן המשך החוליות הדיסטליות של שלשת הרגליים נפגשות בנקודה .קונפיגורציה אחרת שהיא הסינגולאריות מסוג IIתהיה מפגש של החוליות הדיסטליות באינסוף או במילים אחרות שלשת החוליות הדיסטליות מקבילות (ההוכחה המתמטית לזה מתישה למדי על כן לא אציג אותה כאן). סינגולאריות מסוג IIIתתקיים כאשר התנאים לשני סוגי הסינגולאריות מתקיימים .עם זאת, יש לשים לב שקיומן של קונפיגורציות סינגולאריות מסוג Iאו " IIמובטחת" כמעט עבור כל רובוט ,ואילו הסינגולאריות מהסוג השלישי תופיע עבור בחירה "מיוחדת" של הרובוט. תרגילים נוספים 66.6עבור רובוט הבנוי כמכאניזם ארבעה מוטות (ראה תרגיל )66.6אשר יחידת הקצה שלו ממוקמת במרכז החוליה השנייה, (א) כתוב תוכנית אשר מחשבת את מרחב העבודה( .מרחב כזה נקרא .)Coupler Curve (ב) מהו התנאי לכך שהחוליה הקצרה ביותר תוכל להסתובב סיבוב מלא ? דוגמא :עבור רובוט L1 2, L 2 L3 L 4 1עם תפסנית ממוקמת בהמשך חוליה שנייה ,במרחק 5יחידות ממפרק 9 ה Coupler Curveייראה כבאיור: 66.63עבור רובוט הבנוי כמכאניזם ארבעה מוטות (ראה תרגיל ( :)66.9א) הוכח כי הקונפיגורציות הסינגולאריות שלו נתונות באיורים .הסבר איכותית מדוע אלו קונפיגורציות סינגולאריות( .ב) מהן הקונפיגורציות בהן יש סינגולאריות מסוג ? III 159 161 ד"ר ניר שוולב מבוא לרובוטיקה 66.66הוכח שמהירותה של חוליה הקבועה לאדמה באמצעות מפרק סיבובי ומיקום קצהָּ ב v -נתון כ v v -כאשר v מסמן ווקטור מאונך ל. v - רמז :רשום את הווקטור מפורשות וגזור על פי הזמן. 66.69הוכח שקשר הכוחות הסטאטי עבור רובוט מקבילי הוא , F J τכאשר T 1 . J J IN J OUTרמז :עקוב אחר פרק 1ועבוד לאור משוואה .66.6 66.60סכם את המאמר [ ]90העוסק בשיטות אקטואציה שונות ברובוט 3RRRשדנו בו בפרק זה. 66.69סכם את המאמר [ ]99שעוסק ברובוט מקבילי פופולארי בתעשייה בשם .HEXA ד"ר ניר שוולב מבוא לרובוטיקה .69מרחב הקונפיגורציה עד כה כשעסקנו בהקשר הקינמטי התמקדנו בשיטות לבצע טרנספורמציות בין מערכות צירים ,לבצע ליניאריזציה על משוואות התנועה ולזהות מתוך האנליזה נקודות סינגולאריות. עבור מטרת תכנון תנועה קיימת חשיבות מרובה להגדרת מרחב הקונפיגורציה והמרחב המשיק למרחב הקונפיגורציה בנקודה מסוימת -הוא מרחב המהירויות האפשריות לתנועה עבור קונפיגורציה נתונה (ראה פרק .)9כפי שהזכרתי בעבר ,קונפיגורציה הינה למעשה תמונת המצב של הרובוט ,לאמור אוסף פרמטרים שקובעים את מיקום כל חוליותיו ,ובכלל זה הפלטפורמות שלו .מרחב הקונפיגורציה בנוי ,כפי שיוברר בהמשך הפרק ,מאוסף כל הקונפיגורציות האפשריות של הרובוט .וכך ,בסיס הרעיון של תכנון תנועה במרחב הקונפיגורציה הוא שכל קונפיגורציה במרחב זה מיוצגת כנקודה במרחב הקונפיגורציה, ומסלול במרחב הרובוט מיוצג כעקום במרחב הקונפיגורציה (ראה נספח ב') .מרחב הקונפיגורציה יהיה בדרך כלל מרחב "יפה" אך לא תמיד יהיה כך ,לעיתים יחוש הרובוט סינגולאריות אחרת ,כזו הנובעת מסינגולאריות מרחב הקונפיגורציה עצמו .סינגולאריות כזו תהיה תלויה רק במבנה הגיאומטרי של הרובוט ולא בבחירת המפרקים הממונעים (כפי שקורה בסינגולאריות קינמאטית). מושגי יסוד בטופולוגיה :מרחבים נתחיל אפוא בהקניית כלים מתמטיים בסיסיים בטופולוגיה( (General Topology) 26נתמקד באלו שיסייעו לנו בהבנת המושגים שנציג כאן בלבד .באופן כללי ,נושא הטופולוגיה מורכב ויריעתו עצומה ,לקורא המעמיק מומלץ לעיין ב [27],[26],[25]-להקניית מושג עמוק בתחום הטופולוגיה .בפרט ,רוחב היריעה במחקר ברובוטיקה הנעזר בכלים המתמטיים הטופולוגיים 26טוֹפוֹלוֹגְ יָּה :Topologyענף במתמטיקה העוסק במחקר של אותן תכונות של המרחב הנשמרות תחת דפורמציות רציפות -אלו הנשמרות לאחר כיפוף ,מתיחה או עיוות אחר של המרחב ,אבל לא קריעה ,שבירה או ניקוב חור. 161 162 ד"ר ניר שוולב מבוא לרובוטיקה רחב אף הוא לסקירה מלאה במסגרת הספר ,וגם כאן מופנה הקורא המתעניין לעיון בספרות המחקרית ,במיוחד מומלץ לגשת ל.)]91[- בבסיסה הטופולוגיה היא הכללה של החשבון האינפיניטסימאלי העוסק בחקר ההעתקות מהמרחב הישר (ציר המספרים ,המישור ,המרחב וכו') למרחב ישר אחר .כלומר ,הטופולוגיה עוסקת בחקר ההעתקות ממרחב כלשהו (נניח הספירה הדו ממדית - 27כפְ ני כדור הארץ) למרחב כללי אחר (נניח לציר המספרים הממשיים המציין טמפרטורה על פני כדור הארץ). לשם דיון מסודר בטופולוגיה עלינו ראשית להגדיר מהי פונקצית מרחק ,שכן על גבי הספירה יש להגדיר מרחק באופן שונה מאשר האופן בו הוא מוגדר על המישור (כיצד תגדירו את המרחק בין ישראל לסין ?) הבה נתמקד בקבוצת המספרים הממשיים . עבור כל זוג מספרים x, y נוכל לחש ֹוב על dx, y x yכעל המרחק ביניהם .נשים לב שפונקצית המרחק הזו מקיימת: ( )6הפונקציה dx, y תמיד אי-שלילית ,ומקבלת את הערך 3רק כאשר . x y (. dx, y dy, x )9 ( )0מתקיים אי-שוויון המשולש כלומר dx, y dx, z dz, yעבור כל שלשה . x, y, z ידי )(Euclidian distance יקלִ ִ כדוגמא נוספת לפונקצית המרחק נציין את המרחק האֵ ְ x1 y1 2 x 2 y2 2 d(x1 , x 2 , y1 , y2 ) בין שתי הנקודות x1 , x 2 , y1 , y 2 במישור ונוכל לבדוק בנקל שמתקיימים ( .)0(,)9(,)6בכדי להפוך את הדיון בטופולוגיה 2 ריקה ) :(Metric distanceמטריקה היא לרחב ככל הניתן ,נכליל את מושג המרחק/מ ְט ָ פונקציה המתאימה לכל זוג נקודות במרחב נתון מספר חיובי ,ומקיימת מספר תנאים פשוטים .בזכות תנאים אלה ,אפשר לראות במטריקה הכללה של מושג המרחק מהמרחב האיקלידי למרחב כלשהו: הגדרה :תהא Cקבוצה כלשהי .פונקציה d : C C תיקרא מטריקה ) (Metricאם היא מקיימת את שלושת התכונות הבאות לכל : x, y, z C ( )6הפונקציה dx, y תמיד אי-שלילית ,ומקבלת את הערך 3רק כאשר . x y (. dx, y dy, x )9 ( )0מתקיים אי-שוויון המשולש ,כלומר . dx, y dx, z dz, y 27מימד מרחב מוגדר כמספר הממדים עליו ניתן לנוע .לשם הדגמה אם נתייחס לפני כדור הארץ ,אזי מאחר וכיווני התנועה האפשרית הם צפון-דרום ומזרח-מערב ,מדובר בספירה דו ממדית. ד"ר ניר שוולב מבוא לרובוטיקה הגדרה :מרחב מטרי ) (Metric Spaceהוא קבוצה Cעם מטריקה . d : C C מרחב כזה יסומן כזוג הסדור . C, d n דוגמא :מרחב המפרקים של רובוט טורי R RRהוא חלק מן המרחב הקרטזי עליו n נוכל להגדיר מטריקות שונות כמו: .6המטריקה האיקלידית y i n 2 i x xy .9המטריקה הטריוויאלית xy i 1 d 2 (x 1 , x 2 , x n , y1 , y 2 , y n ) 1 if d T (x 1 , x 2 , x n , y1 , y 2 , y n ) 0 if 1/ p .0מטריקות מינקובסקי 28 n p d p (x1 , x 2 , x n , y1 , y 2 , y n ) x i yi i 1 כל אחת מן המטריקות מגדירות מרחב מטרי .שימו לב שהמטריקה הטריוויאלית מציגה מצב מוזר בו המרחק בין כל שתי נקודות זרות במרחב שווה ליחידה ,ויחד עם זאת המטריקה הטריוויאלית קבילה (ראה תרגיל .)69.9 על בסיס מושג המרחק נוכל להכליל את המושג רציפות של העתקה ):(Mapping continuity הגדרה :ההגדרה הקלאסית :פונקציה f : נקראת רציפה ב x 0 אם ורק אם לכל 0קיים , 0כך שלכל xשמקיים x x 0 מתקיים . f x f x 0 נוכל כמובן להשתמש במושג הרחב של המטריקה במקום במרחק האיקלידי ,לאמור :העתקה f : C Eבין שני המרחבים המטריים C, d C , E, d E נקראת רציפה ב x 0 Cאם ורק אם לכל 0 קיים , 0כך שלכל xשמקיים d C x, x 0 מתקיים . d E f x , f x 0 שימו לב שהגדרה זו אינה נסמכת על התכונות האלגבריות של המטריקה אלא רק על שלושת תכונותיה כמטריקה. 28 המטריקה )d2 (x1, x 2 ,x n , y1, y2 ,yn הרגילה ,וx i yi - Minkowski metricהינה המטריקה האיקלידית x1, x 2 ,x n , y1, y2 ,yn ) max 1 i n ( . d 163 164 ד"ר ניר שוולב מבוא לרובוטיקה סימון :אוסף המספרים שבין aל b-ואשר אינו כולל את aואת ,bנקרא הקטע הפתוח שבין a ל b-ומסומן ב . a , b אוסף המספרים שבין aל b-אשר כולל את aואת ,bנקרא הקטע הסגור שבין aל b-ומסומן ב . a, b עד כה הגדרנו מטריקות על מרחבים איקלידיים , אבל הגדרת המרחב המטרי מאפשרת n מטריקות על מרחבים כלליים יותר :יהי C0,1אוסף הפונקציות הרציפות f : [0,1] (שמעצם הגדרתן תהיינה גם חסומות) .כעת ,אם נחשוב על C0,1כעל הקבוצה ,ועל המטריקה המוגדרת עליה כעל: d f , g supf x gx : x [0,1] כאשר ] , f , g C[0,1קיבלנו מרחב מטרי חדש (שאיבריו הם פונקציות). הערה :יהי ) (C, dמרחב מטרי כלשהו ויהי A Cתת מרחב שלו .אזי המטריקה על A נקראת המטריקה המושרית ( )Induced metricומשמעותה כי המרחק בין שתי נקודות a 1 , a 2 Aשווה למרחקן על פי המטריקה dשל . C ניתן להכליל (וכך נעשה) את מושג הקטע הפתוח למושג קבוצה פתוחה .קבוצה פתוחה היא (בניסוח מרושל) כזו אשר אינה מכילה את איברי הקצה שלה .במילים אחרות ,קבוצה נחשבת פתוחה אם מכל נקודה בה ניתן "לנוע מעט לכל כיוון" ולהישאר בתחום הקבוצה בלי לצאת ממנה .כך הקבוצה ) [a, bאינה קבוצה פתוחה ,שכן כל תזוזה שמאלה מ a-תוציא אותנו n מתחומי הקבוצה .הקבוצה (x1 , x 2 ,, x n ) | x1 x 2 x n 1 , d 2מצד 2 2 2 שני ,היא קבוצה פתוחה (כדור היחידה ה n-מימדי הפתוח) וכך גם איחוד כלשהו (סופי או בר מניה (29של כדורים פתוחים .בכדי לקבל את ההגדרה הכללית נעזר במושג המטריקה: הגדרה :קבוצה פתוחה ) (Open Setהיא איחוד (סופי או בר מניה) של קבוצות , x C | d(x, x i ) , 0 C, d כלומר של כדורים פתוחים (מוכללים) ברדיוס x i C 0שמרכזם . x i נשים לב שחיתוך אינסופי של קבוצות פתוחות אינו בהכרח קבוצה פתוחה ,לדוגמא :החיתוך 1 1 n 1 n n האינסופי } , {0אינו קבוצה פתוחה. 29קבוצה בת מניה היא קבוצה (סופית או אינסופית) שניתן למנות את איבריה .במילים אחרות ,קבוצה היא בת מניה אם ניתן "להצמיד" לכל איבר מאבריה מספר טבעי יחיד (באופן שכל מספר טבעי מוצמד לאובייקט אחד). לדוגמא ,קבוצת המספרים הטבעיים וקבוצת המספרים הרציונאליים הן קבוצות בנות מניה ,בעוד שקבוצת המספרים הממשיים ( )3,6אינה בת מניה. ד"ר ניר שוולב מבוא לרובוטיקה תרגיל :45.4הוכח ש { }xהוא קבוצה פתוחה עבור המרחב המטרי , C, d T כלומר עבור קבוצה כלשהי עם המטריקה הטריוויאלית. פתרון :ברור שעבור המטריקה האיקלידית } {xאינו קבוצה פתוחה .נראה שעבור המטריקה הטריוויאלית אין זה המצב .קבוצה פתוחה מוגדרת כ: A x C | d(x, x i ) , 0 ובהצבת המטריקה הטריוויאלית נקבל: }A x C | d(x, x i ) 0 {x התוצאה הזו אינה אינטואיטיבית ,ולכן בעיסוק בטופולוגיה מומלץ להיצמד להגדרות ולהיזהר מהנחות סמויות. כפי שציינתי ,עיקר עיסוקה של הטופולוגיה הוא בחקר ההעתקות ממרחב אחד למשנהו .סוג חשוב של העתקות הוא בוודאי ההעתקות הרציפות שאותן הגדרנו .זכרו שהגדרתנו לרציפות נסמכה על מושג המטריקה .אם יכולנו להימנע מהשימוש במטריקה להגדרת הרציפות היה הדבר מהווה פתח להרחבת המושג (וכך נעשה): הגדרה :העתקה f : C Eבין שני המרחבים המטריים C, d C , E, d E נקראת רציפה ב x 0 Cאם ורק אם לכל קבוצה פתוחה U Eהקבוצה f 1 U Cגם היא פתוחה. משפט :שתי ההגדרות לרציפות ההעתקות שקולות. הוכחה :בכדי להוכיח את הטענה נראֶ ה שכל אחת מן ההגדרות גוררת את רעותה ,כלומר( :א) אם f : C Eהיא העתקה רציפה בין מרחבים מטריים ,ונתונה U E קבוצה פתוחה ,אז f 1 U Cגם היא קבוצה פתוחה( .ב) בהינתן העתקה f : C Eבין מרחבים מטריים אשר עבור כל קבוצה פתוחה U Eהקבוצה f 1 U Cפתוחה ,נוכיח ש f -רציפה ,כלומר שלכל 0קיים 0כך שאם d C x, x 0 אז . d E f x , f x 0 הוכחת חלק (א) :תהי U E קבוצה פתוחה ונבחר איבר כלשהו 1 . x 0 f ( U) C במילים אחרות . f x 0 Uידוע שלכל 0קיים , 0כך שלכל xשמקיים d C x, x 0 מתקיים . d E f x , f x 0 לכן ,אם נבחר יש איבר xהנמצא בסמוך 165 מבוא לרובוטיקה 166 ד"ר ניר שוולב ל ( x 0עד כדי ) כך ש . d E f x , f x 0 -כלומר ,קרוב ככל שנרצה ל f x 0 Uיש איברים שמקורם הוא קרוב ל . x 0 -במילים אחרות ,לכל איבר ב Uיש מקור ,וסביב המקור הזה קיימת קבוצה פתוחה ("סביבה פתוחה") ,שגם היא כלולה ב ) . f 1 ( Uאם כןf 1 ( U) , בנוי כאיחוד של קבוצות פתוחות ולכן גם הוא פתוח. הוכחת חלק (ב) :תהי f : C Eהעתקה בין מרחבים מטריים ,כך שלכל קבוצה פתוחה U Eהקבוצה f 1 U Cפתוחה .ותהי . 0נביט ב : f x 0 Uנבחר איבר xכך ש- ~ את f x ואת . f x ולכן x , x f U נבחר . max dx , x ~ ~ ~ 1 . d E f x , f x 0 ידוע ש f Uפתוחה לכל Uפתוחה ,נבחר U Uפתוחה שמכילה 1 0 0 0 ~ xf 1 U הנה כי כן ,אין צורך במטריקה בכדי להגדיר פונקציות רציפות ממרחב אחד למשנהו. כשקובעים מטריקה על קבוצה , Xנקבע מייד אילו הן התת-קבוצות A Xהפתוחות. לעומת זאת ,מתוך הקביעה מיהן הקבוצות הפתוחות אין להסיק מהי המטריקה .30בידיעת אוסף הקבוצות הפתוחות גלום ,אפוא ,פחות מידע מאשר במטריקה ,ומכאן המוטיבציה להגדיר מרחב טופולוגי על קבוצה פשוט ע"י הכרזה מיהן הקבוצות הפתוחות במרחב – תחת הגבלות מסוימות: הגדרה :קבוצה Cנקראת מרחב טופולוגי ) (topological spaceאם קיים בה אוסף של תת קבוצות פתוחות של Cאשר עבורן מתקיים: .6איחוד של מספר בן מניה של קבוצות פתוחות הוא קבוצה פתוחה. .9החיתוך של מספר סופי של קבוצות פתוחות גם הוא קבוצה פתוחה. .0הקבוצה הריקה והקבוצה Cכולה נחשבות קבוצות פתוחות. משפט :כל מרחב מטרי הוא מרחב טופולוגי( .לא לכל מרחב טופולוגי אפשר להצמיד מטריקה). דוגמא :אם נגדיר את קבוצת המספרים } C {1,2,3כ"עולם" שלנו ונכריז על תת הקבוצות {1,2,3},{1,2},{1,3},{1},{}כעל הקבוצות הפתוחות ,אזי קיבלנו מרחב טופולוגי כשר למהדרין .אבל לא נוכל למצוא למרחב הזה מטריקה שתגדיר את אותן הקבוצות הפתוחות. 30 לדוגמא :המרחבים המטריים , d ו , d n 1 n 2 כוללים את אותן קבוצות פתוחות. ד"ר ניר שוולב מבוא לרובוטיקה מושגי יסוד בטופולוגיה :יחסי שקילות בין מרחבים מטרתה המוצהרת של הטופולוגיה היא מיון מרחבים ,כלומר :בהינתן שני מרחבים טופולוגיים נרצה לקבוע מתי יהיו שקולים ,ומתי יהיו שונים .בטרם נמשיך עלינו להגדיר מהו יחס השקילות אותו נרצה לחקור. אנו מכירים מספר לא מבוטל של יחסי שקילות בין קבוצות מספרים ,משולשים ,מטריצות וכדומה ,לדוגמא( :א) יחס השוויון "=" בין מספרים הוא יחס שקילות( .ב) יחס דמיון משולשי הוא יחס שקילות בין משולשים( .ג) יחס הדמיון בין מטריצות הוא יחס שקילות. למעשה ניתן להגדיר מספר רב של יחסי שקילות על אובייקטים מתמטיים שונים – ובלבד שיהיו דומים ליחס השוויון ,במובן שיקיימו את שלושת התנאים הבאים: ( )6רפלקסיביות ,כלומר כל Aיהיה שקול לעצמו. ( )9סימטריות ,כלומר אם Aשקול ל B -אזי גם Bשקול ל.A- ( )0טרנסיטיביות ,כלומר אם Aשקול ל B-ו B-שקול ל C -אזי Aשקול ל.C- נשים לב שהיחסים הבאים שאינם מקיימים את התנאים שלעיל אינם יחסי שקילות ,וכך( :א) יחס גדול מ "<" בין מספרים אינו יחס שקילות (ב) "להיות אח של" אינו יחס שקילות בין אנשים. נדמיין מרחב טופולוגי כמרחב גמיש באופן אינסופי ,כלומר ניתן למתיחה (אך לא קריעה או הדבקה) ,עד כדי יצירת שתי צורות שונות בתכלית .נרצה להגדיר את יחס השקילות באופן 31 שיזהה את שתי הצורות האלו .יחס שקילות כזה ייקרא הומאומורפיזם ) ,(Homeomorphismונאמר שהמרחבים הומאומורפיים .ספל הקפה המוצג באיור ניתן למתיחה באופן שיהפך לטוֹרּוס (גלגל אופניים) .הספל והטורוס הומאומורפיים זה לזה (וכך גם כל צורות הביניים) .ההגדרה הזו אינה מדויקת דיה ועלולה לגרום לבלבול – נגדיר את המושג באופן פורמאלי: הגדרה :העתקה f : C Eנקראת הומאומורפיזם אם ורק אם היא: ()1 מעתיקה קבוצות פתוחות לקבוצות פתוחות. ()2 רציפה. ()3 חד חד ערכית ועל. 31ביוונית הומאו = דומה ,מורפ = צורה. 167 168 ד"ר ניר שוולב מבוא לרובוטיקה דוגמא :הקטעים החלקיים של ציר המספרים הממשיים ניתנים למיון לשלש קטגוריות; שני קטעים בקטגוריה נתונה הם הומאומורפיים ,וכל שני קטעים בקטגוריות שונות אינם הומאומורפיים :קטעים פתוחים ,קטעים סגורים ,קטעים עם נקודת קצה אחת. הוכחה :בדקו שההעתקה ) f : (a, b) (0,1של הקטע הפתוח ) (0,1המוגדרת xa כ- ba f (x) היא הומאומורפיזם. ) (a , bלקטע הפתוח ומטרנזיטיביות של יחס ההומואומפריזם נובע שכל שני קטעים בקטגורית הקטעים הפתוחים הם הומאומורפיים. אותה הוכחה תקפה גם עבור שתי הקטגוריות האחרות .שימו לב שאם )A [0,1 הומאומורפי ל ) B (0,1אז אם תת הקבוצה הפתוחה (0, ) Aמתאימה לתת קבוצה פתוחה , (a i , b i ) Bמאחר ותת הקבוצה [0, ) Aמתאימה גם היא ל . (a i , b i ) Bלכן ההתאמה הזו אינה הומאומורפיזם .באותו אופן ניתן להוכיח שהקטגוריות הן מיון של הקטעים על הישר תחת יחס הההומאומורפיזם. הביטו בסדרת האיורים הבאה: בשורה הראשונה צידה הימני של פיסת הנייר קופלה והודבקה לאורך צידה השמאלי ,לקבלת גליל .בשנייה הודבק צידה העליון לצידה התחתון לקבלת טורוס .סדר פעולות ההדבקה אינו חשוב .נ יתן להוכיח שהאופי הטופולוגי (הקטגוריה תחת יחס ההומאומורפיזם) של פיסת הנייר שונה מזו של הטורוס ,כלומר באמצעות הדבקה ( )Gluingהתקבל מרחב חדש (הוכיחו זאת) .האופי האינטואיטיבי של פעולת ההדבקה לקבלת מרחבים מורכבים ממרחבים פשוטים יותר מובן ,ולכן השימוש בו רב בטופולוגיה .המרחב שהתקבל מפעולת ההרכבה נקרא מרחב המנה ) (Quotient Spaceשל פיסת הדף תחת פעולת זיהוי צלעותיו הנגדיות. דרך אחרת לתאר מרחבים מורכבים באמצעות מרחבים פשוטים יותר היא ע"י הכפלה: המישור האיקלידי מסומן באופן זה מכיוון שהוא הכפלה של ישר המספרים האנכי 2 2 עם ישר המספרים האופקי . כלומר נקודה ) ( x, yב מוגדרת כזוג של נקודות ד"ר ניר שוולב מבוא לרובוטיקה במרחבים האנכי ו האופקי .ניתן להכפיל באופן דומה כל זוג מרחבים X, Yלקבלת מרחב חדש X Yשיקרא מרחב המכפלה ) .(Product Spaceהקביעה מיהן הקבוצות הפתוחות במרחבי מכפלה של מרחבים איקלידים ברורה ,בעוד שהקביעה מי קבוצה פתוחה במרחב שהוא מכפלה של מרחבים כלליים איננה טריוויאלית כלל ועיקר ולא תוצג כאן. n דוגמא :המרחב Sהוא גליל אינסופי. 1 דוגמא :המרחב S Sהוא הטורוס .בכדי להיווכח בכך ,הביטו באיור שלמעלה – כל נקודה בטורוס מתאימה לנקודה בפיסת הדף המקורית .כל נקודה על פיסת הדף היא זוג ערכי 1 1 1 ) ( x, yעל צירי הדף ,אבל בגלל ההדבקה כל ציר הוא למעשה מעגל Sולכן . (x, y) S1 S1 ניתן להגדיר באותו אופן טורוס -nממדי S S Sשהוא מכפלה של nמעגלים. 1 1 1 יחס ההומאומורפיזם אינו יחס השקילות היחיד בטופולוגיה .יחס שקילות יותר חלש הוא ההומוטופיה ) .(Homotopyשני מרחבים יהיו הומוטופיים זה לזה אם ורק אם אפשר לשנות אחד באופן רציף לשני .דוגמא לזה היא הכוס שהופכת אט אט לטורוס (בלי לקרוע או להדביק) .שני מרחבים הומאומורפיים הם גם הומוטופיים זה לזה ,אבל הכיוון ההפוך אינו נכון תמיד: דוגמא :עיגול היחידה המלא הומוטופי לנקודה – ניתן לכווץ אותו אט אט עד שיהפוך לנקודה. אבל הם אינם הומאומרפיים (התנאי לחד חד ערכיות אינו מתקיים). דוגמא :הקשר שבאיור הומאומורפי לטורוס מחד .אבל מאידך אינו הומוטופי לטורוס ,מכיוון שאין אפשרות לשנות את הקשר לטורוס באופן רציף בלי לקרוע אותו ,להתירו ולחברו מחדש. דוגמא :הצורה " "¤והצורה " "Oהומוטופיות אבל לא הומאומורפיות. מושגי יסוד בטופולוגיה :יריעות מרחבים מיוחדים הנושאים מטריקות "משונות" כמו המטריקה הטריוויאלית ,קשים להבנה ולרוב פחות שימושיים .לעומתם ,המרחבים האיקלידיים אינטואיטיביים יותר .נרצה אם כן להעמיק את הידע שלנו אודות מרחבים שדומים יותר למרחבים איקלידיים. המטריקה על כדור הארץ ,כפי שהזכרנו ,אינה מובנת מאליה .למרות זאת ,אם נתבקש למדוד את המרחק בין בתים סמוכים נציין את המרחק האווירי ביניהם כתשובה הדרושה .כלומר, בסביבת נקודה נקל לדעת את המטריקה .שטח פני כדור הארץ נראה שטוח לתושביו ,במילים 169 מבוא לרובוטיקה 171 ד"ר ניר שוולב אחרות ,בסביבת כל נקודה עליו נראה כדור הארץ דומה מאוד למרחב האיקלידי , אך במבט כולל הוא בעל תכונות מורכבות יותר (מבט כולל על שטח פני כדור הארץ מגלה את צורתו הכדורית) .יריעות מתאפיינות בעיקר בעובדה שניתן לפרק אותן למספר אזורים שכל אחד מהם הוא בעצם קבוצה במרחב האיקלידי שנמתחה או כווצה .למרות שבאופן מקומי היריעה דומה למרחב איקלידי ,התכונות הכלליות שלה יכולות להיות מאוד מפתיעות. לדוגמה ,בעוד שבמישור האיקלידי סכום הזוויות במשולש הוא ,6133על פני כדור (שדומה 2 למישור באופן מקומי) ניתן למצוא משולשים עם שלוש זוויות ישרות. הגדרה :מרחב יקרא יריעה ) (Manifoldאם )6( :לכל נקודה קיימת סביבה פתוחה בה הוא מוכל )9( .סביבת כל נקודה בו הומאומורפית ל n )0( קבוע לכל הנקודות במרחב. n 1 דוגמא :מרחב המנה של ] [0,1המזהה את נקודות הקצה הוא היריעה החד ממדית . S 1 Sהומאומורפית למעגל היחידה. דוגמא :המרחב הבנוי שני ישרים אינסופיים שנחתכים בנקודה אחת איננו יריעה ,משום שסביבתה הפתוחה של כל נקודה מלבד מנקודת החיתוך הומאומורפית ל ( ראה תרגיל ,)69.9בעוד שסביבת נקודת החיתוך איננה הומאומורפית ל . דוגמא :קחו פיסת נייר ריבועית והדביקו את קצהַ העליון על קצהַ העליון באופן שהקודקוד הימני בקצה העליון יודבק עם הקודקוד השמאלי בקצה התחתון ,והקודקוד השמאלי בקצה העליון יודבק עם הקודקוד הימני בקצה התחתון .קיבלתם טבעת מיביוס ) (Möbius bandכמוראה באיור .כעת מתחו קו אחד לאורך הרצועה עד לסגירת המעגל .שימו לב שצבעתם את "שני צידי" הטבעת ! במילים אחרות ,טבעת מיביוס היא חסרת כיוון :אין אפשרות להבדיל בין צדדיה .יריעה כזו נקראת בלתי כְ וְ וי ָנה (Non ) ,Orientableלעומת יריעות כווינות עליהן ניתן לציין צד פנימי וצד חיצוני כדוגמת הספירה. משפט :יריעות דו ממדיות 32כווינות ניתנות לקיטלוג על פי הגנּוס ) (Genusשלהם -מספר "החורים" .במילים אחרות ,כל המשטחים הדו ממדים בעלי גנוס ( 3ספירות) הם הומאומואפיים ,כל המשטחים הדו ממדים בעלי גנוס ( 6טורוסים) הם הומאומואפיים ,כל המשטחים הדו ממדים בעלי גנוס ( 9טורוסים בעלי שני חורים) הומאומואפיים וכו' .משטחים מקטגוריות שונות אינם הומאומורפיים. 32אין בנמצא משפט מיון עבור יריעות בממדים גבוהים מ .9 ד"ר ניר שוולב מבוא לרובוטיקה משפט :בהינתן פא ֹון )( (Polyhedronגוף תלת ממדי המורכב מפאות ,היוצרות יחד גוף קשיר ,חסום וסגור) בעל Vקודקודים E ,צלעות ו F-פאות ,הגנוס של הפאון מחושב באמצעות: . g 2 V E F / 2 מרחבי קונפיגורציה נתמקד ברובוט Rהמישורי .כל קונפיגורציה של הרובוט ניתנת לייצוג בעזרת הזוית 0 2במפרק .אוסף האפשרויות לזווית הומאומורפי למעגל היחידה S1 (התאימו לכל נקודה על המעגל את הזווית המתאימה לו) .כלומר, 1 Sמייצג את כל הקונפיגורציות האפשריות של הרובוט ,Rולכן נקרא לו מרחב הקונפיגורציה ).(Configuration Space עבור הרובוט הטורי המישורי RRכל קונפיגורציה מיוצגת על ידי זוג זוויות המפרקים ) . (1 , 2כאמור ,מרחב הקונפיגורציה עבור רובוט ( Rהמפרק הראשון) הוא מעגל היחידה . Sעבור כל נקודה על Sנצטרך ,אם כן ,לצייר מעגל יחידה Sגם עבור ( 2שכן עבור כל 1 1 1 זווית 1נוכל לסובב את 2בחופשיות) .זוהי דרך לתאר את הטורוס . S Sמעגל היחידה 1 1 הראשון מתאר את הסיבוב במעגל הגדול על הטורוס ,ומעגל היחידה השני -את הסיבוב סביב המעגל הקטן (ראה חצים באיור שלמטה) .בטענה הבאה מובאת הרחבה לדיוננו. טענה :מרחב הקונפיגורציה של כל רובוט טורי R ( RRמרחבי או מישורי במבנה כלשהו) n S עם nמפרקים סיבוביים הוא הטורוס ה -nממדי S .S 1 1 n 1 171 172 ד"ר ניר שוולב מבוא לרובוטיקה דוגמא :מרחב הקונפיגורציה של רובוט טורי הוא הטורוס התלת ממדי. ראינו ,בנוסף ,שהטורוס הדו ממדי S Sהומאומורפי לפיסת נייר עם זיהוי צלעותיה הנגדיות .באותה שיטה ניתן לייצג גם את הטורוס התלת ממדי ,כלומר זה האחרון הומאומורפי לקובייה שאת פאותיה הנגדיות נזהה (נדביק את הפאה העליונה לזו התחתונה ,את השמאלית לזו הימנית ואת הקדמית לאחורית) כמודגם באיור. 1 1 טענה :מרחב הקונפיגורציה של כל רובוט טורי P ( PPמרחבי או מישורי במבנה כלשהו) n n עם nמפרקים פריזמטיים הוא המרחב האיקלידי ה -nממדי . n מרחב הקונפיגורציה של רובוט טורי יהיה יריעה כווינה שמימדה הוא מספר האקטואטורים (המוביליות של הרובוט) ,והיא מהווה מרחב מכפלה כמתואר לעיל .מרחבי הקונפיגורציה של רובוטים טוריים בעלי סדרת מפרקים זהה אך בעלי מבנה שונה יהיו ,אם כן, הומאומורפיים. עבור רובוטים מקביליים עניין קביעת מרחב הקונפיגורציה יותר סבוך ,זאת נבין מייד .אך ראשית ,נשאלת השאלה האם מרחבי הקונפיגורציה של כל הרובוטים יהיו תמיד מרחבים "נעימים למתבונן" כלומר יריעות .המשפט הבא טוען שהתשובה לכך חיובית כמעט עבור כל רובוט (טורי או מקבילי): משפט :מרחב הקונפיגורציה של רובוט גנרי הוא יריעה חלקה וכווינה .מימד היריעה הוא המוביליות של הרובוט. הוכחה של המשפט נתונה ב ]96[ -ובבסיסה שימוש במשפט הערך הרגולרי .הביטוי "רובוטים גנריים" דורש הבהרה :היזכרו במכאניזם הפרדוקסאלי (לדוגמא המכאניזם שבאיור או מכאניזם בנט) שדנו בו בפרק הראשון .חישוב של מוביליות המכאניזם שבאיור מראה כי . F 0אולם בפועל ברור כי .F=1הבעיה טמונה ,כאמור ,בבחירת יחסי האורכים .אם אורך הזרוע המרכזית ,לדוגמא, הייתה אחרת מהשתיים האחרות המכאניזם היה אכן "תקוע" ,אולם בבחירה הנתונה המכאניזם בעל מוביליות .6ומכאן נסיק כי נוסחת המוביליות נכונה בהנחת גנריות המכאניזם ,כלומר בהנחה שאין יחסים מיוחדים בין אורכי החוליות .ולכן בהינתן מבנה של רובוט עם חוליות באורכים גנריים מרחב הקונפיגורציה שלו יהיה ( )6יריעה ( )9יריעה חלקה במובן שניתן להגדיר נגזרת בכל נקודה על היריעה ( )0כווינה במובן שיש ליריעה שני צדדים. ניתן לנסח גם את השאלה ההפוכה :בהינתן יריעה ,האם קיים רובוט שמרחב הקונפיגורציה שלו הומאומורפי ליריעה ? המשפט הבא טוען שהתשובה לכך חיובית. ד"ר ניר שוולב מבוא לרובוטיקה משפט :עבור כל יריעה שנבחר קיים רובוט שאחד ממרכיבי הקשירות של מרחב הקונפיגורציה שלה הומאומורפי ליריעה. הוכחה של המשפט נתונה ב .]03[ -הביטוי "מרכיב קשירות" דורש הבהרה .מכאניזם הבנוי כמשולש שבסיסו קבוע לאדמה אינו מסוגל לתנועה ,ולכן מרחב הקונפיגורציה שלו יהיה מורכב מקונפיגורציה יחידה .אם נתיר למשולש להתהפך נקבל קונפיגורציה נוספת ,ובסך הכול יהיה מרחב הקונפיגורציה מורכב משתי נקודות זרות .אם נוסיף למכאניזם צלע קטנה שתחבר את שתי שוקיו כמתואר באיור ,יתקבל מרחב קונפיגורציה חד מימדי המורכב אף הוא משני 1 מרכיבים (מרחב הקונפיגורציה יהיה הומאומורפי לשני עותקים זרים של .) Sהאפשרות היחידה לעבור ממרכיב אחד לשני תהיה לפרק את המכאניזם ולהרכיבו מחדש בצד השני. אלה הם מרכיבי הקשירות של מרחב הקונפיגורציה .המשפט טוען אם כן שמרחבי קונפיגורציה של רובוטים הם כה עשירים עד כי ניתן להתאים רובוט לכל יריעה. הערה :ב 6135פרסם Alfred Kempe 33 הוכחה לטענה יותר "חלשה" כי לכל עקומה מישורית ניתן להתאים רובוט שיעקוב אחריה במדויק .מבנה ההוכחה נשען על השלבים (ההוכחה המלאה נתונה ב [ )]06הבאים: ( )6כל עקום מישורי ניתן לניסוח מרוכב . f (z) 0 ( )9כל פעולה חשבונית (כפל ,חיבור ,חיסור ,מציאת הצמוד המרוכב) בין מספרים מרוכבים ניתנת לביצוע באמצעים מכאניים. ( )0ניסוח העקום ) f (zבאמצעים מכאניים .קביעה מכאנית של יחידת הקצה בראשית ליצירת השוויון . f (z) 0באופן זה המשתנה zמאולץ לנוע על העקום בלבד. משהבנו כי מרחבי הקונפיגורציה הם יריעות ,ומשנוכחנו במגוונם העצום ,נחזור לעסוק בחישוב מרחבי הקונפיגורציה של רובוטים הבנויים כשרשרת קינמטית מישורית סגורה. מנגנון חמישה מוטות הבנוי כשרשרת סגורה הוא בעל מוביליות ,9וכך גם מימד מרחב הקונפיגורציה שלו .מצד שני שימו לב שיספיקו שלש זוויות לתיאור מלא של הקונפיגורציה של המכאניזם .נוכל לחשב ,אם כן ,את מרחב הקונפיגורציה של מנגנון חמישה מוטות ע"י חישוב אילו שלשות ) (1 , 2 , 3הן אפשריות .קוד ה Maple -הבא מחשב את מרחב הקונפיגורציה עבור רובוט עם חוליות באורכים ). (1,1,1.5,1.2,1 with(plots): L1 := 1: L2 := 1: L3 := 1: L4 := 1: L5 := 1.3: (implicitplot3d({ (L1+L2*cos(x)+L3*cos(y)+L4*cos(z))^2+ L2*sin(x)+L3*sin(y)+L4*sin(z))^2-L5^2 = 0 }, x = 0..2*Pi, y = 0..2*Pi, z = 0..2*Pi, axes Kempe 33הוכיח את משפט ארבעת הצבעים (משפט חשוב בטופולוגיה) לקול תרועות .למרבה הצער שנה מאוחר יותר התגלתה ההוכחה כמוט עית .עם זאת ההוכחה המתמטית הנכונה למשפט עושה שימוש רב בכלים המתמטיים שהציג. 173 174 ד"ר ניר שוולב מבוא לרובוטיקה = = BOXED, scaling = CONSTRAINED, orientation = [35,80], grid = [20,20,20], style ;)PATCHNOGRID, lightmodel = light3 ומתקבל טורוס דו ממדי בעל גנוס :9 נוכל לחשב את מרחב הקונפיגורציה של שרשרת קינמטית סגורה ארבעה מוטות גם באופן גיאומטרי .באיור שלמטה מודגם מנגנון ארבעה מוטות שנותק באחד ממפרקיו ,באופן שנוצרו שני מכאניזמים זרים – האחד רובוט RRוהשני רובוט .Rמרחב העבודה של רובוט RRהוא הטבעת המושחרת שבאיור ,ומרחב העבודה של הרובוט Rהנותר הוא העיגול המקווקו .אם נגדיר את נקודת הניתוק כמרחב העבודה של מנגנון ארבעת המוטות ,אזי מרחב העבודה של המנגנון יהיה החיתוך בין שני מרחבי העבודה ,כלומר הקשת .BCDננסה לשחזר כעת את מרחב הקונפיגורציה מתוך הקשת הזו :קיימת קונפיגורציה אחת אשר מתאימה לנקודת העבודה – Bזוהי הקונפיגורציה בה חוליות הרובוט RRמתוחות לגמרי .ובדומה ,קיימת קונפיגורציה אחת המתאימה לנקודת העבודה .Dמנגד ,קיימות שתי קונפיגורציות עבור כל נקודת עבודה שבין Bל Dעל הקשת – אחת בה רובוט RRמצוי במרפק למעלה ואחת בה המרפק למטה .בסה"כ אם נסדר את הקונפיגורציות המתאימות לקשת BCDמימין לשמאל נקבל B D כלומר מרחב הקונפיגורציה הומאומורפי 1 ל . Sבאותו אופן ניתן לחלץ את מרחב הקונפיגורציה גם עבור כל מנגנון 5מוטות (עד כדי הומאומורפיזם). רובוטים מקביליים מתאפיינים כאמור בריבוי רגליים אשר אוחזות יחדיו ביחידת הקצה .מרחב העבודה של רובוט העכביש המישורי באיור הימני (ראה [ )]65הוא חיתוך של שלוש הטבעות כמוצג באיור (עבור טיפוס הרובוט הזה קיימים הרבה טיפוסים של מרחב עבודה). ד"ר ניר שוולב מבוא לרובוטיקה הביטו באיור השמאלי .מרחב העבודה עבור רובוט בעל אורכים מסוימים נראה כירח תחּום בשתי קשתות .כל נקודה פנימית בתוך מרחב העבודה מתאימה ל 2 8 -קונפיגורציות (מרפק למעלה-מרפק למטה עבור כל אחת מהרגליים) .נדמיין ,אם כן 1 ,עותקים זרים של מרחב העבודה בצורת ירח ונסמנן ב: 3 )(u, u, u), (u, u, d), (u, d, u), (u, d, d), (d, u, u), (d, u, d), (d, d, u), (d, d, d כאשר המיקום הראשון מתייחס לרגל הראשונה ,השני לשנייה והשלישי לרגל השלישית, הסימון uמתייחס לקונפיגורציה עם המרפק למעלה ,ו d-לקונפיגורציה בה המרפק תחתון. העותקים הללו אינם זרים ,שכן באמצעות יישור של רגל נוכל "לעבור" לעותק אחר :כאשר רגל 6מתיישרת תהיה יחידת הקצה על הקשת , וכאשר רגל 9מתיישרת תהיה יחידת הקצה על הקשת . על נקודות המפגש בין הקשתות תהיינה שתי הרגליים 9,6מתוחות ביחד. במילים אחרות ,הקשת והקשת מהוות גשר בין העותקים. מכיוון שרגל 0אינה יכולה להתיישר ,מרחב הקונפיגורציה יהיה מורכב משני מרכיבי קשירות זרים ,ונוכל להתייחס רק לארבעה עותקים של מרחב העבודה אשר בכולם האיבר השלישי הוא .uשימו לב שהעותקים udu , uuu מייצגים את אותן הקונפיגורציות מלבד מצב הרגל השנייה ( uבעותק uuuו d-בעותק ,)udu אבל לאורך הקשת הימנית שלהם הרגל השנייה מתיישרת ולכן שם הקונפיגורציות זהות ! ובסיכומו של דבר ,לאחר שנדביק את ארבעת העותקים על פי הסימונים באיור תתקבל צורה הומאומורפית לספירה .כיוון שיש ברשותנו שני עותקים זרים (המתייחסים למצב הרגל השלישית) מרחב הקונפיגורציה יהיה 9ספירות דו ממדיות .במקום לעקוב אחר ההדבקות יכולנו לספור את מספר הקודקודים ,הצלעות והפאות ולחשב את הגנוס :במקרה שלנו , g 2 2 4 4 / 2 0כלומר התקבלה ספירה כצפוי. דוגמא :נדמיין כעת רכב רובוטי (מכונה בספרות Automated Guided Vehicleאו בקיצור )AGVהמאולץ לנוע על גבי מישור .נניח כי על גבי המישור נע רכב נוסף .במצב זה מרחב הקונפיגורציה של המערכת כולה יהיה מרחב המכפלה . אם כעת נאסור על הרכבים להימצא באותה נקודה (מטעמי בטיחות) ,יהיה עלינו להסיר ממרחב הקונפיגורציה את כל אותם המצבים שבהם שני הרכבים מצויים באותו המיקום .הרובוט הראשון יכול להימצא 2 2 בכל נקודה ב , -בעוד שהשני יכול להיות בכל נקודה פרט לנקודה בה הראשון נמצא, 2 2 או במילים אחרות ,מרחב האפשרויות העומדות לפני הרובוט הומאומרפי ל . 2 {0} -כיוון 175 176 ד"ר ניר שוולב מבוא לרובוטיקה שאת "החור" שנוצר מותר להרכיב ככל שנרצה (כדוגמת הכוס והטורוס) המרחב } 2 {0 הומאומורפי לטבעת Sובסה"כ מרחב הקונפיגורציה יהיה הומאומורפי ל. S - 1 1 3 סינגולאריות טופולוגית במרחבי הקונפיגורציה נמקד את תשומת ליבנו במנגנון ארבעה מוטות ,שאורכי החוליות שלו ) . (2,1,4,5היחסים בין מרחבי העבודה של מנגנוני ה R-וה- ( RRהמתאימים לשני חלקי המנגנון הנוצרים אם נפרק את המכאניזם במפרק השלישי כפי שעשינו בדוגמא הקודמת) דומים לאלו שניתחנו לעיל ,מלבד לעובדה שכעת הקשת המקווקוות נושקת בנקודה Cלשפת הטבעת המודגשת .בנקודת ההשקה מתקפלת זרוע 9על גבי זרוע .6נשים לב שדרך הקונפיגורציה הזו מנגנון ה RRיכול לעבור ממצב של מרפק עליון למצב מרפק תחתון .וכך ,אם נעקוב אחר ההדבקות כפי שעשינו בדוגמא הקודמת ,נקבל כי מרחב הקונפיגורציה הומאומורפי לשני עיגולים מחוברים בנקודה אחת כדוגמת " . "סביבת כל הנקודות במרחב הקונפיגורציה (פרט לנקודת החיבור בין העיגולים) הומאומורפית ל , -ואילו סביבת נקודת החיבור הומאומורפית ל " , "שאינו הומאומורפי ל . -במילים אחרות ,מרחב הקונפיגורציה איננו יריעה עבור אוסף אורכי החוליות הנתון – התקבלה סינגולאריות מסוג חדש. הגדרה :קונפיגורציה תקרא סינגולאריות טופולוגית ) (Topological Singularityאם סביבת הנקודה במרחב הקונפיגורציה אינו הומאומורפי ל , -כאשר nהוא המוביליות של n הרובוט. בנקודה שסביבתה הומאומורפית ל( -בדוגמא שלעיל ,)n=1כלומר קונפיגורציה בה n התנועה לכל כיוון אפשרית ,ניתן להפעיל את כל המנועים באופן בלתי תלוי .מנגד ,נקודה בה כל סביבה שלה אינה הומאומורפית למרחב האיקלידי קורה משהו אחר :עבור הדוגמא שלעיל המרחב האיקלידי התחלף במרחב שבו שני מרחבים איקלידיים -זרים ,נפגשים .בנקודה n מעין זו הפעלת המנועים לא תספק בכדי להחליט באיזה מן המרחבים תתרחש התנועה – אנו זקוקים לפתע למנוע דיסקרטי נוסף שעד כה היה מיותר בכדי לקבוע את הקונפיגורציה הבאה של הרובוט באופן מוחלט. n הערה :שימו לב שאין כל חשיבות להחלטה אילו מפרקים יהיו אקטיביים ואלו פסיביים (שלא כמו בסינגולאריות הקינמטית) .החשיבות היחידה נתונה למבנה החוליות והמפרקים. ד"ר ניר שוולב מבוא לרובוטיקה למעשה סינגולאריות טופולוגית יכולה להתקבל בכל מכאניזם המכיל לולאות סגורות .מימד מרחב הקונפיגורציה של מכאניזם שווה ,כאמור ,לערך המוביליות שלו ,ומכיוון שזה אינו מוגבל ל ,0-לרוב אין באפשרותנו לצייר או לדמיין כיצד הלה נראה ,לא כל שכן מה אופייה של הסינגולאריות 34במקרה וזו בנמצא .המשפט הבא טוען כי עבור מרחבי קונפיגורציה של מכאניזמים המצב פשוט יותר: משפט :הסביבה של נקודה סינגולארית טופולוגית של מכאניזם כלשהו (אם קיימת כזו) הומאומורפית ל סביבה של נקודה במרחב שהוא מרחב מכפלה .מרחב זה הוא מכפלה של יריעה עם מרחב שנוצר מהדבקת שתי יריעות בנקודה אחת. הוכחת המשפט המלאה נתונה ב [ ,]96במאמר מודגם כיצד ניתן לזהות מכאניזמים בעלי מרחבי קונפיגורציה "בעייתיים" ,ומה אופייה המדויק של הסינגולאריות. תכנון תנועה במרחב הקונפיגורציה קונפיגורצית רובוט מיוצגת כנקודה במרחב הקונפיגורציה– מסלול במרחב הקונפיגורציה המחבר בין שתי נקודות מייצג ,אם כך ,תנועת רובוט מקונפיגורציה אחת לשנייה .בדוגמא האחרונה שבנספח ב' מודגם מסלול במרחב הקונפיגורציה המתורגם לתנועת רובוט. התרחיש בו יש להשחיל חפץ גדול (נאמר פסנתר) דרך פתח (נאמר דלת) המכונה בספרות Piano mover's problem 35 מתאפיין לרוב בסדרת המהלכים הבאה » :כיוון הפסנתר באוריינטציה מסוימת ותחילת השחלה » התקלות בשולי הדלת » נסיגה » קבלת החלטה לגבי אוריינטציה והמשך השחלה עד למצב התקלות נוסף וחוזר חלילה .לעיתים אסטרטגית הפעולה תצלח ,לעיתים תכשל מטעמים אובייקטיביים (כלומר לא קיימת כל אפשרות לבצע את המשימה) ,ולעיתים תכשל בשל חסרונות האסטרטגיה (טווח הפעולה הקצר אותו יכול לחזות המוביל) .יתרה מכך ,בראייה זו אין אפשרות לקבוע מראש אם המשימה אפשרית אם לאו. זכרו שכל נקודה במרחב הקונפיגורציה מכילה את כל המידע שיש לדעת על הרובוט (החפץ), ולכן הסתכלות על בעיית תכנון התנועה במרחב הקונפיגורציה מאפשרת לתכנן את התנועה "עד לפרט האחרון" ,כמו גם לקבוע מראש האם התנועה אפשרית .במקרה של השחלת הפסנתר דרך הדלת ,מרחב הקונפיגורציה יהיה אוסף כל הטרנספורמציות ההומוגניות האפשריות (ראו פרקים 9ו ,)0-ואילו הקונפיגורציות בהן יתקל הפסנתר בדלת יהיו קונפיגורציות "לא חוקיות" מהן ננסה להימנע. הגדרה :מרחב המכשולים ) (Obstacle Regionהוא החלק במרחב הקונפיגורציה המורכב מאוסף הקונפיגורציות שייגרמו להיתקלות במכשולים בסביבת העבודה של הרובוט .מרחב 34אפילו עבור המקרה הדו ממדי קיימים מספר אינסופי של סוגי סינגולאריות ומיונם לא תמיד בר השגה. 35הניסוח הפורמאלי מעט שונה. 177 מבוא לרובוטיקה 178 ד"ר ניר שוולב המכשולים מסומן כ . C obsמנגד ,המרחב החופשי ) (Free Spaceמורכב מאוסף הקונפיגורציות שאינן במרחב המכשולים ,36כלומר בהן מותר לרובוט להיות .המרחב החופשי מסומן ב . C free דוגמא :הביטו ברובוט 6Rשבדוגמא האחרונה בנספח ב'. מרחב המכשולים שלו יהיה מורכב מ( :א) כל הקונפיגורציות בהן אחת החוליות מתנגשת בחוליה אחרת (ב) כל הקונפיגורציות בהן המנועים נדרשים לזווית שמעבר לטווח האפשרי שלהם (ג) כל הקונפיגורציות בהן הרובוט "נכנס" לתוך הקיר. כדי להמחיש את חישוב מרחב המכשולים נניח שמרחב הקונפיגורציה דו מימדי ,וש C obs -הוא מרובע .נבהיר שוב ,המרובע מורכב מאוסף הקונפיגורציות הבעייתיות (מטעמים כלשהם) עבר הרובוט .כעת ,עבור כל קונפיגורציה של הרובוט (הקודקוד המודגש במשולש) קיים אוסף קונפיגורציות קרובות (אוסף הנקודות המרכיבות את המשולש) שנרצה להבטיח לעצמנו שתהיינה מותרות .הפעולה המתוארת באיור בין המשולש למרובע נקראת סכום מינקובסקי ) .(Minkowskiתוצאת הפעולה – קו הגבול המשושה ,הוא שפת C freeעבור קודקוד המשולש המודגש בעיגול .סכום מינקובסקי 37 ישים בכל מימד ולכל גיאומטריה פוליגונלית (לעיתים יהא עלינו גם לסובב את מרחב הפעולה של הרובוט בכדי לקבל את גבול .) C free לשם המחשה נניח שוב שמרחב דוגמא: הקונפיגורציה הוא דו ממדי .באיור מודגמים ( C obsמודגש) ו( C free -בהיר) במרחב הקונפיגורציה. מרחב המכשולים התקבל באמצעות סכום מינקובסקי .בעיית תכנון התנועה ,אם כן ,היא בעיית מציאת מסלול מנקודה sלנקודה .g 36 C freeהינה קבו צה פתוחה בתוך מרחב הקונפיגורציה ,כלומר הרובוט מורשה להתקרב ככל שירצה למכשול, אך לא לגעת בו. לעיתים נרצה להימנע גם מהתקרבות יתר ,או אז נגדיר את C obs באופן מחמיר יותר. 37לעיתים יש גם לסובב את מרחב הפעולה של הרובוט לעומת המכשול ,מלבד הטרנסלציה ,לקבלת גבול . C free מבוא לרובוטיקה ד"ר ניר שוולב קיימות שיטות רבות לפתרון הבעיה .נזכיר שלוש (רוחב היריעה בהקשר הזה גדול מאוד. הקורא המתעניין יוכל להיווכח במשמעויות השונות הטמונות בניסוח הפורמאלי ה"קר" של בעיית תכנון התנועה ,אם יעיין במאמרים [:)]00[,]1[,]09 ( Probabilistic Road Mapאיור): (א) פיזור אקראי של נקודות במרחב הקונפיגורציה. (ב) הוספת נקודות ההתחלה והמטרה. (ג) סינון הנקודות הנופלות בתוך מרחב המכשולים. (ד) חיבור כל נקודה עם kהנקודות הקרובות לה ביותר באמצעות קווים ישרים. (ה) סינון הקווים החותכים את מרחב המכשולים. (ו) בחירת המסלול הקצר ביותר מתוך הרשת שנוצרה. :Potential field Algorithm (א) הגדרת הרובוט כבעל מטען חשמלי חיובי. (ב) הגדרת מרחב המכשולים כבעל מטען חשמלי חיובי. (ג) הגדרת נקודת המטרה כבעלת מטען חשמלי שלילי. (ד) חישוב שדה הפוטנציאל הנובע מהמטענים ,בצורה המאפשרת לרובוט לנוע בהשפעת הכוחות הוירטואליים הנובעים מהמטענים. :Visibility Graph (א) סימון כל הקודקודים המגדירים את גבולות המרחב החופשי. (ב) הוספת נקודות ההתחלה והמטרה. (ג) סימון הישרים המחברים בין כל זוגות הנקודות. (ז) סינון הקווים החותכים את מרחב המכשולים. (ח) בחירת המסלול הקצר ביותר מתוך הרשת שנוצרה. יהי Cמרחב קונפיגורציה של רובוט כלשהו (מרחב מטרי) .לשם הסדר הטוב ,נזכיר שמסלולים ב Cמתאימים לתנועות של הרובוט ,ונסמן ב PCאת מרחב 38כל המסלולים האפשריים . : 0,1 Cכפי שנוכחנו בעבר בעיית תכנון התנועה מוגדרת כמציאת מסלול בין שתי נקודות s, gב . C -לאור ההגדרות הללו ,ניתן לנסח את בעיית תכנון התנועה באופן אלטרנטיבי: 38נסתפק בלציין שניתן להגדיר את הטופולוגיה על , PCכלומר להגדיר מהו אוסף הקבוצות הפתוחות במרחב. באופן זה PCהוא מרחב טופולוגי. 179 מבוא לרובוטיקה 181 ד"ר ניר שוולב הגדרה :לכל נקודה ב s, g -ב C C -יש להתאים נקודה ב PCכך ש (0) sו- (1) gלקבלת תכנון תנועה sעל מרחב קונפיגורציה . Cנסמן את תכנון התנועה ב . s : C C PC מנקודת מבט זו ,מתבהרת השאלה :בהינתן מרחב הקונפיגורציה ,האם ניתן לנסח מערכת חוקים רציפה במובן ש: .1אם ניתנה נקודת התחלה sונקודת סיום gוהתקבל מסלול מתאים . .2הזזנו מעט את נקודת התחלה s+dsונקודת הסיום g+dgהתקבל מסלול שני ' . .3שני המסלולים ' ו -אינם שונים בהרבה זה מזה.39 1 הבה נבחן זאת :נניח שמרחב הקונפיגורציה הומאומורפי ל , S -וננסה לנסח מערכת חוקים רציפה לתכנון התנועה עליו: עבור כל זוג נקודות נבחר את המסלול בכיוון החיובי ביניהן .תכנון תנועה כזה אינו תכנון תנועה רציף .נדגים זאת :נבחר נקודה sכקצה הצפוני של המעגל ו g -מעט משמאלו. המסלול המחבר בין שתי הנקודות מוגדר היטב על פי תכנון התנועה שבחרנו .כעת ,אם נתחיל להזיז את gלאורך היקף המעגל ונבחן את השינוי שחל במסלול נראה כי המסלול הולך וגדל ברציפות ,בעוד אנו משנים את מיקומו עד למצב בו gכמעט הגיעה לs - ונמצאת מעט מימינו .במצב זה המסלול שנבחר עבורן הוא זה המקיף את המעגל כמעט בשלמותו .אם ,gכעת ,תחלוף על פני sותתמקם מעט מימינו ,לפתע ישתנה המסלול באופן לא רציף ויתקצר לכדי הקטע הקצר המחבר בין sו.g - ננסה תכנון תנועה אחר( :א) לכל שתי נקודות לא קוטביות על המעגל נבחר את המסלול הקצר ביותר ביניהן( .ב) לכל זוג נקודות קוטביות נבחר את המסלול לאורך הכיוון החיובי על המעגל .גם זה אינו תכנון תנועה רציף .נדגים זאת :עבור כל תזוזה אינפיניטסימאלית של הנקודות ,כך שהן לא "עוברות" את המיקומים הקוטביים ,תכנון התנועה יהיה רציף שינוי קטן במיקום הנקודות יניב שינוי קטן בבחירת המסלולים .לעומת זאת ,ברגעשנחלוף על פני המיקומים הקוטביים ישתנה תכנון התנועה באופן לא רציף. נוכחנו ,אם כן ,לדעת ,כי התשובה לשאלה ששאלנו שלילית כאשר מדובר במרחב קונפיגורציה הומאומורפי למעגל .המשפט הבא מתאר את המצב הכללי: משפט :קיים תכנון תנועה רציף s : C C PCעל Cאם ורק אם Cהומאומורפי לנקודה. 39התיאור המדויק של הדרישה נתון ב.]91[ - ד"ר ניר שוולב מבוא לרובוטיקה ההוכחה למשפט נתונה ב .]91[-לאור המשפט ברור שאין בנמצא תכנון תנועה רציף עבור רובוט שמרחב הקונפיגורציה שלו הומאומורפי למעגל .באופן דומה ,מכיוון שמרחב הקונפיגורציה של זוג הרכבים הנעים על המישור הומאומורפי ל , Sגם עבור המערכת הזו אין בנמצא תכנון תנועה רציף .אם נחזור לניתוח הניסיון השני ליצור תכנון תנועה רציף 1 3 על גבי המעגל ,נראה כי ניתן היה לחלק את מרחב המכפלה C Cלשני אזורים: (s, g) C C s gו (s, g) C C s g - אשר בתוך כל אחד מהם יהיה תכנון התנועה רציף .מספר תת הקבוצות המינימאלי של מרחב המכפלה , C Cאשר בכל אחת מהן תכנון התנועה רציף ,מסומן ב ). TC(C משפט :לשני מרחבי קונפיגורציה הומוטופיים אותו ). TC(C ההוכחה למשפט נתונה ב.]91[- תרגילים נוספים 1.1 הוכח yi n 2 i x שהפונקציה d 2 (x 1 , x 2 , x n , y1 , y 2 , y n ) היא אכן מטריקה. i 1 1.2 הוכח xy xy שהפונקציה 1 if 0 if d T (x 1 , x 2 , x n , y1 , y 2 , y n ) היא אכן מטריקה. 1.3 שהפונקציה הוכח 1/ p n p d p (x1 , x 2 , x n , y1 , y 2 , y n ) x i yi i 1 היא אכן מטריקה. 69.9הוכח שהקבוצה ) (a , bהומאומורפית ל . 69.5הוכח שהמרחבים שבאיור הומאומורפיים: 69.9מהו מרחב הקונפיגורציה של רובוט טורי U ( UUמרחבי) עם nמפרקי קרדן? n 181 182 ד"ר ניר שוולב מבוא לרובוטיקה 69.3היעזרו בתוכנת Matlabלחשב את מרחב הקונפיגורציה עבור מכאניזם ארבעה מוטות שחוליותיו באורכים ) . (1,3,1,2.8חלצו את מרחב הקונפיגורציה גם באמצעים גיאומטריים. תשובה: 69.1הראו שמרחב הקונפיגורציה עבור מנגנון חמישה מוטות עם אורכים ) (1,1,1.5,1.2,1הוא הטורוס הדו ממדי בעל גנוס .9נקטו בשיטה גיאומטרית. 69.6מצאו אוסף אורכים עבורו מתקבלת סינגולאריות טופולוגית במרחב הקונפיגורציה של רובוט העכביש המישורי. 1 69.6למנגנון ארבעה מוטות שמרחב הקונפיגורציה שלו Sמוסיפים חוליה קטנה מאוד. הוכיחו שמרחב הקונפיגורציה של המנגנון החדש הוא טורוס דו ממדי. 69.63רכב רובוטי ) (AGVמאולץ לנוע על גבי מסלול קבוע שצורתו ├ (שלושה קטעים מחוברים בנקודה אחת) ,ונניח כי על גבי אותו מסלול נע רכב נוסף .במצב זה מרחב הקונפיגורציה של המערכת כולה יהיה מרחב המכפלה ├× ├ ,פחות הקונפיגורציות בהן שני הרכבים מצויים על אותה נקודה .מצאו את מרחב הקונפיגורציה של שני הרובוטים (ביחד). תשובה :היעזרו ב ]09[-לקבלת: ד"ר ניר שוולב מבוא לרובוטיקה 183 נספח א' :פתרון מערכת משוואות לא ליניארית נציג כעת את שיטת האלימינציה של סילבסטר ))Sylvester's Dialytic Elimination לפתרון מערכת משוואות פולינומיאליות המופיעות תדיר בפתרון בעיות קינמטיקה עבור רובוטים טוריים ומקביליים( .לעיתים מתקבלות משוואות במשתני cosו sin -אשר על ידי הצבת tanחצי הזווית( ,ראו הערה 1בפרק )5ניתנות אף הן לביטוי פולינומיאלי ,ולכן נוכל להתרכז רק במערכת משוואות פולינומיאליות). n m i 0 i 0 תהיינה Qx bi x i 0ו , Px a i x i 0 -ונניח ללא הגבלת הכלליות ש . m n מטריצת סילבסטר של Qx ו Px -היא המטריצה: a0 ) b 0 ( m n )( m n a0 a0 a1 a m 1 a1 a m 1 am am b0 b0 b1 b n 1 b1 b n 1 bn bn am S bn על פי הקריטריון של סילבסטר ,ל Qx -ו Px -קיים ְמחַ לֵק משותף (במילים אחרות -קיים פתרון) שונה מ 6-אם ורק אם . det S 0 לדוגמא: בהינתן הפולינומים gx b 2 x 2 b1 x b 3 f x a 3 x 3 a 2 x 2 a1x a 3מטריצת סילבסטר תהא: ו- 184 ד"ר ניר שוולב מבוא לרובוטיקה 0 a0 0 0 b 0 a0 a1 0 a1 a2 b0 a2 a3 b1 b0 b1 b1 b2 b2 0 a3 0 S b2 0 0 ולכן קיים פיתרון למערכת המשוואות אם ורק אם . det S 0ואמנם עבור gx b 2 x 2 1 ו f x a 3 x 3 1 -נקבל det S b aכלומר קיים פתרון רק במקרה בו , b aובמקרה 6 6 זה הפתרון יהא . x 1/ a בספרות ,הדטרמיננטה של מטריצת סילבסטר קרויה ה – Resultantשל Qx וPx - ומסומנת ב. resP, Q- הקריטריון של סילבסטר יסייע לנו כעת בפתרון מערכת המשוואות הפולינומיאליות f x, y 0ו gx, y 0 -המשוואות בדרגות mו n -בהתאמה , 40נדגים כיצד: .1נציג את המשוואות f x, y 0וgx, y 0 - n בצורה- Qx bi x i 0ו- i 0 m Px a i x i 0כאשר המקדמים i 0 ) b i b i ( yו , a i a i ( y) -תהיינה למעשה פונקציות של המשתנה .y .2נבנה את המטריצה של סילבסטר Sבאופן זהה לזה שתואר לעיל. .3מהבניה נובע ,אם כן ,ש det S 0 -הוא פולינום ב . yנפתור אותו אנליטית אם הדבר אפשרי או נומרית ,אם לאו .הפתרון יהיה ,על פי קריטריון סילבסטר ,התנאי לקיום פתרון ל.x- .4מעתה נתייחס לחזקות 1, x, x 2 , x 3 ,, x n ,, x mכאל רשימת נעלמים .ולמערכת 0 T s 1, x, x 2 , x 3 ,, x n ,, x mn 1כאל מערכת משוואות ליניארית .נציב את n m i 0 i 0 הפתרון ל Qx bi x i 0 -ול Px a i x i 0 -ונפתור את המערכת כמערכת משוואות ליניארית (נמצא את .) x, x 2 , x 3 ,, x n ,, x mn 1 .5נבדוק אילו מהפתרונות אמיתיים .כלומר אילו מן הפתרונות מקיימים אמנם x 2 x 2 וכו'. 40על פי משפט Bézoutבמצב זה קיימים לכל היותר mnפתרונות x, y למערכת זו. ד"ר ניר שוולב מבוא לרובוטיקה דוגמא :נתונות שתי המשוואות הפולינמיאליות: a 4 y 2 a 3 xy a 2 x a 1 y a 0 0 b 4 x 2 b 3 xy b 2 x b1 y b 0 0 נשכתב את המשוואות ונקבל על פי ( )6ונקבל: Bx C 0 A' x 2 B' x C' 0 כאשר B a 3 y a 2 , C a 4 y 2 a1 y a 0וC b1 y b 0 , B' b 3 y b 2 , A' b 4 - מטריצת סילבסטר תהיה: 0 C C' 0 B' C' C B לשם דוגמא נניח ש a i b i 1 0 B 0 0 S 'A' B ' 0 A לכל .iהתנאי של סילבסטר לקיום פתרון יהא det S 2y 2 2y 1ופתרונותיה . y 1/ 2 i / 2הצבת הפתרון y 1/ 2 i / 2 למערכת המשוואות המקורית תניב: 1 x i 0 2x 2 i 0 שפתרונה כמערכת משוואות לינארית ב x, x 2יהיה x 1/ 2 i / 2ו x i / 2 -וזהו 2 פתרון קביל .הצבת הפתרון y 1/ 2 i / 2למערכת המשוואות תניב פתרון קביל נוסף. הערה :שימו לב שמטרת סעיפים 6-0להוריד ב 6-את מספר הנעלמים .את אלגוריתם לפתרון ניתן ליישם איטרטיווית על מערכת מרובת משתנים להוריד את מספר המשתנים: דוגמא :נתונות שתי המשוואות הפולינומיאליות x 32 y 2 5 m2 0 x 32 y 2 5 m2 0 נשכתב את מערכת המשוואות כאשר mיהיה המשתנה ו x,y-פרמטרים באופן הבא: 16 2 10m x m 2 10m x 2 6x y 2 16 0 0 ולכן: 2 6x y 2 2 m2 185 186 ד"ר ניר שוולב מבוא לרובוטיקה 0 2 2 2 x 6x y 16 0 2 2 2 x 6x y 16 2 x 6x y 2 16 10 2 2 x 6x y 2 16 10 2 1 10 0 1 S 1 10 0 1 נחשב את הדטרמיננטה ונקבל . det S 400 x 2 6x y 2 16 :התנאי לקיום פתרון למערכת המשוואות יהא אם כן . x 2 6x y 2 16באופן זה הורדנו את מספר המשתנים ב .6באם היו ברשותנו משוואות נוספות יכולנו להמשיך בתהליך. הערה :סעיף 9באלגוריתם הפתרון הוא דרך פשוטה לקבלת מספר רב של משוואות מהמשוואות הנתונות באמצעות הכפלתן בנעלמים; ולמעשה קיימות שיטות שונות לפתרון באמצעות אלימינציה ואלו תקבענה קבוצות משוואות אחרות. ד"ר ניר שוולב מבוא לרובוטיקה נספח ב' :תכנון תנועה (על קצה המזלג) הכותרת של הנספח מטעה מעט ,למעשה עיקר דיוננו בנספח ייסוב על הדרכים "להחליק" מסלול רצוי .נציג בקצרה את הדרכים ליצירת תכנון תנועה ) .)Motion Planningבעיית התכנון מוגדרת בספרות במגוון דרכים .41לשם שלמות הדיון נציג ראשית דוגמא לבעיית תכנון תנועה במרחב התפסנית ).(End effector motion planning scheme דוגמא :עבור רובוט RRמישורי יש לתכנן את תנועת התפסנית כך שתסתובב במעגל ברדיוס Rשמרכזו ב x 0 , y 0 ובמהירות קבועה . v 0 תשובה :אנו מעוניינים במיקום התפסנית בלבד ! .בעיית תכנון תנועה במרחב התפסנית פשוטות יחסית ,ופתרונן נסמך על פתרון בעיית הקינמאטיקה ההפוכה: מסלול התפסנית הרצוי נתון y y0 R sin t )(1.B באמצעות גזירה x x 0 R cos t נקבל y Rcos t v 0 x 2 y 2 Rולכן . v 0 / R המשוואות (ראו פרק y L1s1 L 2 s12 )9 x Rsin t, כלומר מצד שני הקינמטיקה הישירה נתונה בצמד . x L1c1 L 2 c12 , פתרון בעיית הקינמטיקה ההפוכה נתון ב: 1 atan2y, x atan2L 2 s 2 , L1 L 2 c 2 2 )(2.B נציב את משוואה x 2 y 2 L1 L 2 2L 1 L 2 2 2 c2 s2 1 c2 ) (B.1ב ) (B.2בכדי לקבל את ערכי הזוויות הדרושות .אם נציב L1 100, L 2 80, (x 0 , y 0 ) (150,0), R 30נקבל את ערכי המפרקים שבגרף. 41ההגדרות השונות גוררות שיטות טיפול שונות .בין השאר נמנה את בעיות תכנון התנועה במרחב המפרקים, במרחב העבודה ,בעיות של הימנעות ממכשולים בגיאומטריות קבועות ,בעיית הימנעות ממכשולים בתנועה, בעיית הימנעות מהתנגשות עצמית (עבור רובוטים יתירים). 187 מבוא לרובוטיקה 188 ד"ר ניר שוולב נתמקד ,כעת ,בבעיית תכנון התנועה במרחב המפרקים (( )Joint Schemeמרחב הקונפיגורציה) .לשם בהירות נגדיר שוב את המושג הקונפיגורציה (שדנו בו בהרחבה בפרק .)69 הגדרה :בהינתן רובוט טורי או מקבילי כללי בעל מוביליות ,nקיימים nמפרקים q1 , q 2 ,..., q nאשר אם נקבע אותם יִ קבָּ ע הרובוט מבלי אפשרות לזוז .ווקטור הערכים של המפרקים C q1 , q 2 ,..., q n Tנקרא הקונפיגורציה של הרובוט. בעיות תכנון התנועה הן בעיקרן בעיות ִהמָּ נְ עּות .ובדרך כלל יודע המתכנן לבחור סדרת נקודות בהן מותר לרובוט להימצא (לעיתים קרובות עיקר הבעיה היא בבחירתן) .לרוב ירצה המתכנן לקבל תנועת מפרקים חלקה העוברת דרך כל הנקודות הללו (הן מסיבות טכניות שיפורטו בהמשך ,מסיבות אסתטיות ומטעמי ממשק אדם מכונה) .נוכל אם כן לנסח את הבעיה: הגדרת הבעיה :יהי C 0 , C1 ,, C nרצף קונפיגורציות שנרצה להגיע אליהן בנקודות זמן t 0 , t 1 ,, t nמוגדרות .יש לבנות עקום תנועה רציף במרחב הקונפיגורציה Ct כך ש: א .העקום עובר דרך כל הנקודות . Ct 0 C 0 , Ct 1 C1 ,, Ct n C n t C ב t 0 . C 0 n t , C ג .הפונקציות t Cתהיינה רציפות. בעיית תכנון התנועה במרחב המפרקים ,אם כן ,יכולה להתפרש בשני אופנים: ד"ר ניר שוולב מבוא לרובוטיקה .1במרחב הקונפיגורציה (איורים ימני ואמצעי) זוהי בעיית בחירה של עקום פרמטרי Ct העובר דרך nנקודות נתונות . Ct 0 C 0 , Ct 1 C1 ,, Ct n C nעם שתי ההגבלות (ב) ו(-ג). .2במרחב הרובוט (איור שמאלי) פתרונה יהא קביעת ערכי המפרקים לאורך פרק זמן ,כך שבכל אחת מנקודת הזמן הנתונות , t 0 , t 1 ,, t nמפרקי הרובוט נתונים כ- . Ct 0 C 0 , Ct 1 C1 ,, Ct n C nעם הגבלה שבראשית המסלול המפרקים מאיצים ממנוחה וחוזרים למנוחה בסופו .הדרישה (ג) לרציפות מהירות המפרקים ותאוצתם נובעת משתי סיבות: א .כיוון שאת מצב המפרקים קובעים מנועים בעלי כוח (מומנט) מקסימאלי נתון, Cתהיה חסומה .ולכן ברור ש t - כלומר עלינו לדרוש מתכנון התנועה ש t - C (שמתקבל מהאינטגרל של t ) Cרציפה. ב .התאוצה t Cנקבעת מהזרם המסופק למנוע ,ועדיף שזה האחרון יהיה רציף בזמן .ומכאן שעל התאוצה להיות רציפה. התוכנות המתמטיות MatLabו Maple-מציעות מגוון כלים לפתרון בעיית ההחלקה נעמוד על שניים :הראשון היא קירוב פולינומיאלי ) (Polyonmial Interpolationכלומר זוהי גישת אינטרפולציה 42פולינומיאלית על סדרת הנקודות בקטע סגור. עבור בעיית תכנון התנועה ברובוטיקה השיטה מציגה חיסרון ברור .חסרונה נעוץ בעובדה שלפולינום מסדר גבוה אופי תנודתי (התופעה נקראת ע"ש Carl Rungeובבסיסה העובדה שלפולינום ממעלה n+1יש " nתנודות") ללא קשר לפונקציה אותה הוא מקרב .האיור שמשמאל מדגים (מלמעלה למטה) קירוב פונקצית מַ ְד ֵרגָּה באמצעות פולינומים ְמדרגה 0,5,3ניתן לראות בבירור שבעטיה של תופעת Rungeהקירוב לפולינום מסדר גבוה חורג בהרבה מהרצוי. גישה אלטרנטיבית לקירוב היא אינטרפולציה פולינומיאלית הנמנעת משימוש בפולינומים ממעלה גבוהה .אינטרפולציה כזו מתקבלת על ידי חלוקת הקטע לאוסף של תתי קטעים ובניית פולינום ִ 42אינְטֶ ְרפ ֹול ְַציָּה ,בִ ּיּוןִׁ ,ש ְרבּוב ,אומדן של ערכי ביניים על פי ערכי הקצה. 189 191 ד"ר ניר שוולב מבוא לרובוטיקה אינטרפולציה לפי קטעים .קירוב באופן זה נקרא קירוב פולינומיאלי בחלקים .יתרונה של השיטה שהיא מאפשרת שימוש בפולינומים ממעלה נמוכה בכל תת קטע ובאופן זה מקטינה את התנודתיות .הסוג הפשוט ביותר של קירוב פולינומיאלי בחלקים נקרא אינטרפולציה לינארית בחלקים והוא מתייחס לסדרת נקודות אשר מחוברות ביניהן ע"י סדרה של קוים ישרים. ההנחה שבין כל זוג צמתים (נקודת אינטרפולציה) הפונקציה ניתנת לקירוב ליניארי היא סבירה בתנאי שהפונקציה רציפה והנקודות סמוכות דיין זו לזו ,אך הקירוב אינו מתאים אם הדרישה ל"חלקּות" חשובה .במקרה זה נקבל בכל צומת משותפת לשני תתי קטעים פינה משוננת שמקורה באי רציפות הנגזרת הראשונה בצומת זו .סוג נפוץ יותר של קירוב פולינומיאלי בחלקים ,המבטיח רציפות של הנגזרת הראשונה והשנייה בצמתים (ובכך מבטיח קירוב "חלק") מתקבל ע"י אינטרפולציה המבוססת על פולינומים ממעלה – 0אינטרפולציית Spline 43 בכל תת קטע בין שתי נקודות אינטרפולציה עוקבות (מנאיור התחתון ניתן להיווכח ביתרון שבאינטרפולצית ְ Splineמדרגה שלוש על פני אלו בדרגה אחד (אינטרפולציה ליניארית – איור עליון) וזו בדרגה שניים (ראה איור אמצעי – הנגזרת הראשונה אמנם חלקה אבל עדיין קיימות אי רציפויות בנגזרת השנייה ואלו מתורגמות ל"שבירות" לא עדינות בתוצאה הסופית) -לפולינום ממעלה שלוש ישנם ארבעה פרמטרים וזה מתיר מרחב גמישות המבטיח לא רק שהאינטרפולטור גזיר ברציפות בקטע ,אלא גם שהנגזרת השנייה שלו רציפה בקטע. הרעיון הכללי :יהי I a, bקטע ותהיינה a x 1 x 2 x n bנקודות בתוכו, אשר להן מתאימים הערכים . y1 y 2 y nנחלק את הקטע ל n 1 -תת חלקים . I k x k , x k 1 בכל תת קטע נבנה פולינום מדרגה שלוש , y k (x) A k x 3 Bk x 2 C k x D kכך שהפולינומים ייפגשו באופן "ידידותי" כלומר נדרוש: שהפולינומים יעברו בנקודות כלומר ש y k (x k ) y k -לכל . k שהפולינומים ייפגשו באופן רציף אחד את השני y k (x k 1 ) y k 1 (x k 1 ) -לכל . k שהנגזרות הראשונות תהיינה רציפות y k ' (x k 1 ) y k 1 ' (x k 1 ) -לכל . k שהנגזרות השניות תהיינה רציפות y k ' ' (x k 1 ) y k 1 ' ' (x k 1 ) -לכל . k 43מקור המושג Splineלקוח מהדרך בה נהגו בעבר ליצור עקומות בתעשייה .המתכנן היה מניח מספר ְׁשג ִָּמים ) (Splinesע"ג לוח ,ומותח מוט אלסטי באופן שזה האחרון יעבור דרך סדרת השגמים וייצוֹר עקום חלק ויפה. מבוא לרובוטיקה ד"ר ניר שוולב דרישתנו האחרונה (ראה הגדרת הבעיה) היא ש( y n 1 ' (x n ) y1 ' (x1 ) 0 -נוכל לבחור דרישה אחרת אם נדרש לכזו – ובלבד שתקבע שתי דרגות חופש) הערה :נשים לב שהבניה של ספליין מדרגה שלוש איננה מניחה כי הנגזרות של האינטרפולטור מתלכדות עם אלו של הפונקציה ,אפילו בנקודות האינטרפולציה. כאמור התוכנות המתמטיות Mapleו Matlab-מציעות פונקציה מוכנה לחישוב אינטרפולציית ,Splineנדגים כעת את השימוש בהן ב :Matlab דוגמא :נתון רובוט הזחל ,446Rהמודגם בתמונה (ראה גם [ .)]6מטרתו לטפס על קירות אנכיים בתנועות המחקות תנועות זחל .מרחב הקונפיגורציה של הרובוט חּושב והמתכנן מעוניין בתנועת היפוך (כלומר קצה תחתון יתהפך ויהפוך להיות קצה עליון ,כמודגם באיור) שתהא מינימאלית בצריכת ההספק מן המנועים .לשם כך ידועה סדרת נקודות הביניים המתוארת באיור .התזמון של התנועה נתון בווקטור ] . t ( 1,2,3,5,8,11,12,16,19)[secבכדי להחליק את התנועה ,יש לבצע אינטרפולציית .Spline פתרון :נבצע אינטרפולציית Splineלכל אחד מן המנועים בנפרד לשם כך נשתמש ב :Matlab ראשית על פי האיור נוכל לקבל את ווקטור הזוויות הרצויות בכל מפרק. ;]Theta(1,:)=[-90 -90 -90 -90 -45 90 90 90 90 ;] Theta(2,:)=[3 3 3 3 3 3 3 3 3 ;] Theta(3,:)=[3 3 95- 63- 63- 3 3 3 3 ;] Theta(4,:)=[3 3 3 3 3 3 95 3 3 ;]Theta(5,:)=[0 -45 -45 -90 -90 -90 -90 0 0 ;]Theta(6,:)=[-90 -90 -90 -90 -90 -90 -90 -45 90 ;]T=[ 1 2 3 5 8 11 12 16 19 נגדיר ווקטור זמנים צפוף לחישוב ערכי האינטרפולציה: ;t=1:0.1:19 44הרובוט תוכנן ונבנה במעבדה לקינמאטיקה וגיאומטריה חישובית במרכז האוניברסיטאי באריאל .מעניין לציין כי בגלל אופי התנועה המיוחד הנדרש נדרשת אנליזה של רובוטים טוריים בצעידה ,ואנליזה לרובוטים מקביליים בעת אחיזה. 191 192 מבוא לרובוטיקה ד"ר ניר שוולב האינטרפולציה מתבצעת באמצעות פקודת Splineשמקבלת את ווקטור הזמנים המקורי, וקטור הערכים המקורי וְ וקטור הזמנים הרצוי .נבצע זאת על כל מפרק בנפרד: for i=1:6 ;)smooth_Theta(i,:)=spline(T,Theta(i,:),t ;)subplot(3,2,i plot(T,Theta(i,:),'o');hold on; plot(t,smooth_Theta(i,:),'r');hold off ;))title(num2str(i end ומתקבלים הגרפים: ד"ר ניר שוולב מבוא לרובוטיקה 193 נספח ג' :דינאמיקה (על קצה המזלג) לאורך כל יריעת הספר עסקנו בפן הקינמטי באנליזת רובוטים והתעלמנו מאפקטים של תנע, תנע זוויתי ,וחיכוך .כעת ,נציג בקצרה את משוואות אוילר לגרנז' 45 )(Euler-Lagrange הדיפרנציאליות השולטות כאשר אלו האחרונים אינם ברי הזנחה וכאשר מערכת האילוצים הולונומית: הגדרה :מערכת הולונומית ) (Holonomicהיא מערכת שניתנת לתיאור באמצעות מערכת משוואות מהצורה . f q1 , q 2 ,, q n , t 0כאשר q1 , q 2 ,, q n , tהם הקואורדינאטות פרקטית מערכת רובוטית נקראת המוכללות של המערכת ופרמטר הזמן ,בהתאמה. הולונומית אם מספר הפרמטרים המבוקרים גדול או שווה למוביליות ,אחרת המערכת נקראת לא הולונומית. דוגמא )6( :משוואת האילוץ למטוטלת פשוטה באורך Lהיא q1 q 2 L :ולכן 2 2 המערכת הולונומית )9( .הקינמטיקה הישירה עבור כל הרובוט שהוצגו בספר היא מהצורה . f q1 , q 2 ,, q n 0לכן כולן מערכות הולונומיות (בכל המערכות מספר הפרמטרים המבוקרים שווה למוביליות) )0( .מכונית היא בעלת שלוש דרגות חופש ) ( x, y, אבל כיוון שלרשותה רק זוג פרמטרים מבוקרים -התאוצה הלינארית וכוון ההגה ) . (x, המכונית ,אם כן ,איננה מערכת הולונמית. נדמיין טיל המשוגר לאוויר .הכוחות הפועלים על הכדור הם כוח הכבידה הפועל מטה וכוח הדחף הפועל כלפי מעלה.כידוע ,על פי החוק השני של ניוטון משוואת התנועה של הכדור היא . my F mgמאחר ולרוב מרכיבי האנרגיה קלים יותר לחישוב מהביטויים לכוחות, מטרתנו תהיה לנסח את המשוואה במונחים של אנרגיה קינטית ואנרגיה פוטנציאלית .נשים 2 d לב שעבור אגף שמאל של המשוואה נוכל לרשום my d my dt dt y 2 d עבור האגף הימני נוכל לרשום mgy dy התנועה במונחי my 2 , P mgy 2 אנרגיה: .) K . F mg F נוכל אם כן לנסח את משוואת d my 2 d mgy F dt y 2 dy כעת אם . my נגדיר את (פוטנציאלית הלגרנז'יאן וקינטית )(Lagrangian כ: 45אוילר ולגרנז' קיבלו את מערכת המשוואות הדינאמית במהלך ניסיון למצוא עקומה איזוכרונית )Curve .)Isochroneאשר פרק הזמן הלוקח לגוף להחליק עליה עד לנקודה הנמוכה ביותר בה ,קבוע ,ואינו תלוי במיקומו ההתחלתי. 194 מבוא לרובוטיקה my 2 mgy 2 ד"ר ניר שוולב L( y, y ) כלומר כהפרש בין האנרגיה הקינטית לזו הפוטנציאלית נוכל לנסח d את משוואת התנועה בניסוח אוילר לגנז'L L F : dt y y . באותו אופן נוכל לרשום את מערכת משוואות אוילר לגרנז' עבור רובוט: d D Lq, q Lq, q Fi dt q i q i q i )(C.1 כאשר 46 Fi , Lq, q Kq, q Pq הכוחות המוכללים החיצוניים הפועלים על דרגת D החופש ה ( . q iשימו לב שהוספנו את האיבר q i שלעיתים מתברר כשימושי .הביטוי D מציין את הפסדי האנרגיה הנובעים מחיכוכים במערכת). דוגמא :עבור הרובוט RRשבאיור נתון שמרכז המסה של כל אחד מן החוליות ממוקם במרכז החוליה .מסת החוליות m1 , m 2ומומנטי האינרציה המתייחס לסיבובים במישור הדף הם , I1 , I 2אורכן של החוליות . L1 , L 2נרשום את משוואות התנועה המתאימות .לשם כך נחשב ראשית את הלגרנז'יאן: 1 L 1 c1 מיקום מרכז המסה של החוליה הראשונה נתון בביטוי 2 L1s1 .מיקום מרכז המסה של L c L 2 c12 2 החוליה השנייה נתון בביטוי : . 1 1גזירת הביטויים האלו על פי הזמן תניב L1s1 L 2 s12 2 2 L 2 את המהירויות הקוויות 1 1 : 2 2 2 1 L s v1 1 1 1ועבור החוליה השנייה 2 L1c1 2 L s L 2 s12 2 1 2 1 1 L1c1 L 2 c12 2 L ) 2L1 2 1 1 2 cos( 2 2 האנרגיה הקינטית אם כן נתונה כ: 46עבור מכאניקה קלאסית. 2 2 2 v2 L 2 2 L1 1 2 1 2 2 ד"ר ניר שוולב מבוא לרובוטיקה 195 2 2 1 L 2L1 2 1 1 2 cos( 2 ) I 2 1 2 2 2 2 1 L1 1 2 m1 1 I11 2 2 2 K1 2 1 2 2 L 2 m 2 L1 1 1 2 2 2 K2 האיבר הראשון במשוואה הראשונה מתאר את חלק האנרגיה הקינטית הנובע ממהירות קווית של מרכז המסה של החוליה הראשונה .האיבר השני במשוואה הראשונה מתאר את חלק האנרגיה הקינטית הנובע ממהירות זוויתית של החוליה הראשונה .האיבר הראשון במשוואה השנייה מתאר את חלק האנרגיה הקינטית הנובע ממהירות קווית של מרכז המסה של החוליה השנייה.האיבר השני במשוואה השנייה מתאר את חלק האנרגיה הקינטית הנובע ממהירות זוויתית של החוליה השנייה. האנרגיה הפוטנציאלית נתונה כ: L L P m1g 1 sin(1 ) m 2 g L1 sin(1 ) 1 sin( 2 ) 2 2 נציב בביטוי ללגראנז'יאן ונקבל L K1 K1 P :נציב במשוואה ( )C.1ונקבל את מערכת המשוואות: L 2 L2 2 L 2 M1 m1 I1 m 2 L1 2L1 2 cos( 2 ) I 2 1 2 2 2 L 2 L m 2 2 L1 2 cos( 2 ) I 2 2 2 2 L L 2 m 2 L1 2 sin( 2 ) 2 1 2 2 m1g 1 cos(1 ) 2 2 L m 2 g L1 cos(1 ) 2 sin(1 2 ) 2 L 2 L L M 2 m 2 2 L1 2 cos( 2 ) I 2 1 m 2 2 I 2 2 2 2 2 L 2 L ) m 2 L1 2 1 m 2 g 2 cos(1 2 2 2 כאשר M1 , M 2מציינים את המומנטים החיצוניים המופעלים על החוליות .המשוואות שקיבלנו מייצגות אם כן ,את המומנטים הדרושים להנעת הרובוט כאשר השילוב בין המסות, מומנטי האינרציה של החוליות ,המהירויות הזוויתיות והתאוצות הזוויתיות אינו זניח. ד"ר ניר שוולב מבוא לרובוטיקה רשימת מקורות [1] J. Craig, (1989), "Introduction to Robotics", Mechanics and control, 2nd edition, Addison-Wesley Publishing Company, Reading MA. [2] R. P. Paul, (1989) "Robot Manipulators. Mathematics, Programming and control", The MIT Press, Cambridge, MA. [3] L.W. Tsai, (1999) "Robot Analysis", John Wiley & Sons. [4] J. Angeles, (2002), "Fundamentals of robotic Mechanical Systems, Theory, Methods and Algorithms", 2nd Edition, Springer-Verlag, NY. [5] M. Spong and M. Vidyasagar, (1989), ”Robot Dynamics and Control”, John Wiley and Sons, ISBN 047161243X. [6] A. Ghosal, (2006), "Robotics", Oxford University Press. [7] S. M. LaValle, (2006), "Planning algorithms", Cambridge University Press. [8] A. Shapiro, E. Rimon, S. Shoval,(2005), “PCG: A Foothold Selection Algorithm for Spider Robot Locomotion in 2D Tunnels”, International Journal of Robotics Research, Vol 24, No. 10, pp. 823-844. [9] O. Medina, N. Shvalb and B. Ben Moshe (2009), "A caterpillar climbing robot for traversing metal trusses", Preprint. [10] T. Lauwers, G. Kantor, R. Hollis (2006). "A Dynamically Stable SingleWheeled Mobile Robot with Inverse Mouse-Ball Drive". IEEE International Conference on Robotics and Automation. [11] R. Ben-Horin, M. Shoham and S. Djerassi, (1998), "Kinematics, Dynamics and construction of a planarly actuated parallel robot", Robotics and ComputerIntegrated Manufacturing, , Vol 14. [12] J. M. R. Martinez, B. Ravani, (2003), "On Mobility Analysis of Linkages Using Group Theory", Journal of Mechanical Design, Vol. 125. ]13[ H.E. Bez, (1983), "Homogeneous Coordinates for Computer Graphics", Computer-Aided Design 15 (6), pp. 361-365. [14] H. Goldstein, (1980), "Classical Mechanics, 2nd edition"., Addison-Wesley. ISBN 0-201-02918-9 196 197 ד"ר ניר שוולב מבוא לרובוטיקה [15] N. Shvalb, D. Blanc and M. Shoham, (2005), "The Configuration Space of Arachnoid Mechanisms", Forum Mathematicum 17 pp. 1033-1042. [16] A. Wolf, H. Choset, B. Brown, W. Randall (2005), "Design and control of a mobile hyper-redundant urban search and rescue robot", Advanced Robotics, Volume 19, Number 3, 2005 , pp. 221-248(28) ]17[ K. Y. Tsai and K. D. Huang, (2003), "The design of isotropic 6-DOF parallel manipulators using isotropy generators", Mechanism and Machine Theory, Volume 38, Issue 11, pp. 1199-1214 ]18[ J.K Salisbury, (1982), "Kinematics and force analysis of articulated hands", Ph.D Thesis, Stanford University [19] D. H. Gottlieb, (1987), "Robots and fibre bundles". Bull. Soc. Math. Belg. Sér. A, 38:219-223. [20] M. Shoham, I.H. Lieberman, E.C. Benzel, D. Togawa, E. Zehavi, B. Zilberstein, M. Roffman, A. Bruskin, A., Fridlander, I., Joskowicz, S., BrinkDanan, and N. Knoller, (2007), "Robotic assisted spinal surgery - from concept to clinical practice" Computer Aided Surgery, Vol. 12, No. 2, pp. 105–115. [21] D. Zlatanov, R.G. Fenton, and B. Benhabib, (1998), "Identification and classification of the singular configurations of mechanisms", Mech. Mach. Theory, 33 743-760. [22] D. Zlatanov, I.A. Bonev, and C.M. Gosselin, (2002), "Constraint Singularities as C-Space Singularities," 8th International Symposium on Advances in Robot Kinematics (ARK 2002), Caldes de Malavella, Spain, 24–28. [23] G. Yang, W. Chen and I. Chen, (2002), "A geometrical method for the singularity analysis of 3-RRR planar parallel robots with different actuation schemes" Intelligent Robots and System. IEEE/RSJ International Conference. Vol. 3, pp 2055- 2060. [24] S. Celso, T. Filho, E. Lobo L. Cabral , (2002), "Kinematics and Workspace analysis of Parallel Architecture Robot: the Hexa" ABCM Symposium Series in Mechatronics Vol. 2, pp.158-165. . הוצאת אוניברסיטת חיפה," "טופולוגיה אלגברית,)9339 (תשנ"ב,[ ד"ר דוד בלנק25] [26] W. Fulton, (1995), "Algebraic Topology: A First Course", Graduate Texts in Mathematics, Srpinger-Verlag. הוצאת,"ג,ב, כרכים א: "טופולוגיה קבוצתית,)1997 (תשנ"ז,[ ד"ר דניאלה ליבוביץ27] .האוניברסיטה הפתוחה ד"ר ניר שוולב מבוא לרובוטיקה [28] M. Farber, (2008), "Invitation to Topological Robotics (Zurich Lectures in Advanced Mathematics)", Monograph, European Mathematical Society. [29] D. Blanc, N. Shvalb (2009), "Coniguration space of parallel robots". Preprint. [30] D. Jordan, M. Steiner, (1999), "Configuration Spaces of Mechanical Linkages" Discrete and Computational Geometry Vol. 22, 297-315. [31] A. B. Kempe, (1875), "On a General Method of Describing Plane Curves of the nth Degree by Linkwork", Proc. London Math. Soc., Vol. 7. [32] E. Rimon, D. E. Koditschek, (1992), "Exact Robot Navigation Using Artificial Potential Fields", IEEE Transactions on Robotics and Automation, 8(5):501-518. [33] Abraham NJ, Wolf A, Choset H, (2006), “A Potential Function Approach to Surface Coverage for a Surgical Robot”, Journal of Computer Aided Surgery, 11(1):1-9. [34] A. Abrams, R. Ghrist, (2002), "Finding Topology In a Factory Configuration Spaces" American Mathematical. Monthly, vol. 109 no. 2 pp. 140–150 198 199 ד"ר ניר שוולב מבוא לרובוטיקה רשימת כתבי העת ברובוטיקה IEEE Transactions on Robotics. International Journal of Robotics Research. Mechanism and Machine Theory. IEEE International Journal of Robotics and Automation. Journal of Robotic Systems. IEEE Transactions on System, Man and Cybernetics. Robotics Today. The industrial Robot. Transactions of ASME (American Society of Mechanical Engineering), Journal of Mechanical Design. מבוא לרובוטיקה 211 ד"ר ניר שוולב אינדקס A P ................. ................................ AGVראה רכב רובוטי 8 ...................................... mechanism Antikythera 41 ................................. ................................ atan2 131 .................. ................................ Parallelogram 178 ................................... Piano mover's problem 123 ....................................... positive semidefinite 181 ................. ................................ Potential Field 181 ................................. ................................ PRM 141 .......................... ................................ Backlash 22 ........... ................................ Bennet Mechanism R B 185 ......................... ................................ Resultant C S 161 .................. ................................ Coupler curve 93–188 ........................ ................................ Spline D T ................................... Dexterityראה מרחב המיומנות 182 TC E V .......... ................................ Encodersראה מקודדים 181 ................ ................................ Visibility Graph K א 174 .................. ................................ Alfred Kempe M 192 ,191 ,174 ,153 ,138 ,133 ,132 ,41......... Maple 191 ,85 ,49 ................ ................................ MatLab 146 .............................. ................................ MEMS 171 ................... ................................ Möbius band אוריינטציה 27 ........................... ................................ אייזיק אסימוב 8 ....................... ................................ אלימינציה של סילבסטר 184 ......... ................................ אליפסת כוחות 122 ..................... ................................ אנגלברגר ודבול 9 ...................... ................................ אנליזה לינארית 114–88 .............. ................................ אנליזת גמישות 33–127 .............. ................................ אנליזת מהירות 114–88 ............... ................................ אנליזת קשיחות 33–127 .............. ................................ אנקודר ................ ................................ראה מקודדים N ..................................... Null Spaceראה מרחב האפס ב בחירת פתרון לקינמטיקה ההפוכה 71 .............................. בסיס אורתונורמאלי 26 ................ ................................ בקר 141 ................................... ................................ מבוא לרובוטיקה בקרה 141 ................................. ................................ ג גמישות 33–127 ........................ ................................ גנוס 171 ................................... ................................ גרובלר קוצבאך 19 ..................... ................................ ד דנביט והרטנברג 54 ,53 ,52 ......................................... דרגות חופש 11 ......................... ................................ דרך וירטואלית 116 .................... ................................ ה ד"ר ניר שוולב טראנספרומציית שרשור 52 ............................ ................................ טרנספורמאציית גוף קשיח 32 ......................... ................................ הומוגנית 33 .......................... ................................ הזזה 28 ............................... ................................ סיבוב 91 ,31 ,29 ,28 ............ ................................ שיקוף 28 ............................. ................................ שרשור 37 ............................ ................................ טרנספורמצית גוף קשיח 28 ........... ................................ י יחידת הקצה 23 ,11 .................. ................................ יחס בין ישרים 51–51 ................. ................................ יחס שקילות 168 ........................ ................................ יעקוביאן 155 ,114–88 ............... ................................ יעקוביאן לא ריבועי 112 .............. ................................ יריעה 172 ................................. ................................ יריעה חלקה 173 ........................ ................................ יתרון מכאני 123 ,117 ................ ................................ הגולם מפראג 7 ......................... ................................ הדבקה 169 ............................... ................................ הדירות 144 ,134 ....................... ................................ הומאומורפיזם 168 ..................... ................................ הומוטופיה 171 ........................... ................................ היענות 129 ............................... ................................ המרחב החופשי 178 .................... ................................ הצבת tanחצי זווית 87 ............... ................................ הקריטריון של סילבסטר 185 ........................................ הרובוטים האוניברסלים של רוסום 8 ........................... הֶ רון 8 ...................................... ................................ ל ו לגרנז'יאן 194 ............................ ................................ לינאריזציה 114–88 .................... ................................ ווקטור עצמי 34 .......................... ................................ ז זוג קינמטי 15 ............................. ................................ זוויות אוילר 41 .......................... ................................ ח חוליות 15 ,11 .......................... ................................ ט טבלת חיפוש 67 .......................... ................................ טופולוגיה 72–162 ..................... ................................ טיפוסי סינגולאריות 155 .............. ................................ טראנספורמיית שרשור 49–37 ...................... ................................ כ כוחות מוכללים 116 .................... ................................ מ מדד ההדירות 134 ....................... ................................ מדד המניפולטיביות 41–136 ,134 ,123 ......................... מדד הרזולוציה 143 ..................... ................................ מטריצה הומוגנית 33 ................... ................................ מטריצת גמישות 33–127 ............. ................................ מטריצת היענות 129 .................... ................................ מטריצת היעקוביאן 89 ................. ................................ מטריצת סיבוב 31 ....................... ................................ מטריצת קשיחות 33–127 ............ ................................ מטריקה 163 .............................. ................................ מטריקה מושרית 165 .................. ................................ מכונה 18 .................................. ................................ מכניזם 17 ................................. ................................ מכניזם ארבע מוטות 18 ................ ................................ מכניזם גנרי 21 ........................... ................................ מכפלה וקטורית 27 ..................... ................................ מכפלה סקלרית 26 ...................... ................................ מנגנון 17 .................................. ................................ 211 מבוא לרובוטיקה 212 מניפולטיביות 41–136 ,134 ......... ................................ מסבך לא מסוים סטאטית 21 .......... ................................ מערכות צירים 37–26 ................. ................................ מערכת הולונומית 194 ................. ................................ מפעילים 11 .............................. ................................ מפרק 15 ................................... ................................ מפרק דיסטאלי 77 ,75 ................. ................................ מפרק פרוקסימאלי 75 .................. ................................ מפרקים 11 .............................. ................................ מפת הרזולוציה 142 .................... ................................ מקדם האיזוטרופיות 114 .............. ................................ מקודדים 141 ............................. ................................ מרחב האפס 118 ........................ ................................ מרחב המהירויות 116 .................. ................................ מרחב המיומנות 99 ,79 ,72 ,23 .................................... מרחב המכשולים 178 .................. ................................ מרחב העבודה 99 ,82 ,72 ,62 ,23 ................................ מרחב הקונפיגורציה 172 ,83–162 ................................ מרחב טופולוגי 72–162 ,167 ....................................... מרחב מטרי 166 ......................... ................................ מרחב מכפלה 171 ....................... ................................ מרחק איקלידי 163 ..................... ................................ מרפק עליון ומרפק תחתון 74 ,67 ................................... משוואת אוילר לגרנז' 194 ............ ................................ משפט 112 .................. ................................ Gottlieb משפט 74 ....................... ................................ Pieper משפט גלואה 67 ......................... ................................ משפט מיון ליריעות דו ממדיות 171 ................................ נ נפח אליפסואיד 134 .................... ................................ נפח מקבילון 134 ........................ ................................ ס סוגי מפרקים 16 ......................... ................................ סטנפורד 65 ............................... ................................ סינגולאריות טופולוגית 177 .......... ................................ סינגולאריות קינמאטית 14–115 .................................... סכום מינקובסקי 179 ................... ................................ ע עבודה וירטואלית 115 ................. ................................ פ ּפאֹון 172 .................................. ................................ פומה 121 ,74 ............................ ................................ פיגמליון 7 ................................. ................................ ד"ר ניר שוולב פלטה ניידת 147 ......................... ................................ פלטה נייחת 147 ......................... ................................ פלטפורמת סטיוארט ...........................ראה רובוט מסוג פסוודו אינברס 112 ..................... ................................ פרנקנשטיין 8 ............................ ................................ פתירות 68 ................................. ................................ ק קארל צ'אפק 8 .......................... ................................ קבוצה פתוחה 165 ...................... ................................ קואורדינטות מוכללות 51 ............. ................................ קונפיגורציה איזוטרופית 124 ,113 ................................ קטע סגור 165 ............................ ................................ קטע פתוח 165 ........................... ................................ קינמטיקה ישירה 66–51 .............. ................................ קשיחות 33–127 ........................ ................................ ר רובוט 25–15 ............................ ................................ הגדרה 7 .............................. ................................ רובוט זחל 192 ........................... ................................ רובוט יתיר 192 ,69 .................... ................................ רובוט מסוג 21 .......................... ................................ Alizade 175 ,157 ........... ................................ Arachnoid 11 .......................... ................................ ASIMO 14 .......................... ................................ BallBot 11 ........................ ................................ De Vinci 146 ........................... ................................ Delta 112 ........... ................................ Eshed Robotics 11 ........................ ................................ Famulus 161 ,148 ................... ................................ Hexa 146 ......................... ................................ Mazor 35 ..................... ................................ Motoman 114 ,114 ,23 ............... ................................ PPP 115 ............................. ................................ PRR 121 ,74 ,71 ,9 .......... ................................ Puma n 112 R 112 ,113 ,79 ,63 RP 131 ,118 ,99 ,66 ,64 ,23 ............................. RPP 87 ......................... ................................ RPPRRR 132 ,112 ,112 ,86 ,81 ,79 ,71 ,61 ,59 ,58.... RPR 151 ........................... ................................ 3RPS ,123 ,119 ,111 ,113 ,94 ,89 ,85 ,67 ,57 ,24 RR 195 ,188 ,142 ,132 ,118 ,113 ,118 ,98 ,96 ,82 ,81 ,65 ,62 ,23... RRP 138 ,125 114 ,114 ................... ................................ RRPP ,132 ,124 ,121 ,112 ,86 ,85 ,72 ,64 ,55 ,23. RRR 136 מבוא לרובוטיקה 159 ,151 ,21 ............. ................................ 3RRR 137 ........................... ................................ RRRR 117 S 139 ,121 ,114 ,64 ,11 ............................... Scara 11 ............................. ................................ Spirit 65 ....................... ................................ Stanford 147 ,22 ................. ................................ Stewart 113 ,9 ................. ................................ Unimate זחל192 זרוע סטנפורד 9 .................... ................................ רובוט מקבילי 62–146 ,21 ,21 ,18 .............................. רובוט פתיר ............ ................................ראה פתירות רובוט צילינדרי 66 ...................... ................................ רובוטי חוטים 147 ...................... ................................ רזולוציית מנוע 141 .................... ................................ רזולוציית רובוט 141 ................... ................................ רכב רובוטי 183 ,176 ................. ................................ רציפות 164 ............................... ................................ ד"ר ניר שוולב ש שרשור 32 ................................. ................................ שרשרת קינמטית 11 .................. ................................ שרשרת קינמטית היברידית 17 ....................................... שרשרת קינמטית סגורה 18 ,17 ..................................... שרשרת קינמטית פתוחה 17 .......... ................................ ת תופעת החזרה המכאנית .........................ראה Backlash תכנון תנועה 82–178 .................. ................................ תנועה רגעית 116 ....................... ................................ תפסנית 23 ................................ ................................ תרומת המהירות הזוויתית 93 ......... ................................ תרומת המהירות הקווית 93 ........... ................................ לציבור הקוראים :מטבע הדברים ודאי נפלו טעויות בגוף הספר .אשמח לקבל התייחסות לספר ובפרט לטעויות, והארות מכל סוג שהוא .אנא פנו לדוא"ל . [email protected]תודה ובהצלחה. 213