מבוא לרובוטיקה Testbed & EasyC

Download Report

Transcript מבוא לרובוטיקה Testbed & EasyC

LOGO
‫נושאי השיעור‬
‫מושגי יסוד‬
‫‪1‬‬
‫רובוט וחלקיו‬
‫‪2‬‬
‫שימוש ברובוטים‬
‫‪3‬‬
‫תהליך תכנון הנדסי‬
‫‪4‬‬
‫הכרות עם ‪VEX & EasyC‬‬
‫‪5‬‬
‫נושאי השיעור‬
‫מושגי יסוד‬
‫‪1‬‬
‫רובוט וחלקיו‬
‫‪2‬‬
‫שימוש ברובוטים‬
‫‪3‬‬
‫תהליך תכנון הנדסי‬
‫‪4‬‬
‫הכרות עם ‪VEX & EasyC‬‬
‫‪5‬‬
‫מושגי יסוד‬
‫‪ ‬רובוט – מערכת אלקטרו‪-‬מכנית מתוכנתת‪,‬‬
‫שמבצעת פעולות מורכבות תוך כדי‬
‫אינטרקציה עם הסביבה‪.‬‬
‫‪R2D2‬‬
‫מושגי יסוד‬
‫‪ ‬אוטונומיות – יכולת של מערכת לקבל החלטות‬
‫ולבצע פעולות המבוססות על איסוף וניתוח‬
‫תנאי סביבה‪ .‬כל זאת ללא התערבות חיצונית‪.‬‬
‫‪ ‬התנהגות ‪ -‬תגובה של מערכת לכניסות שונות‪.‬‬
‫מושגי יסוד‬
‫‪ ‬קשיחות ‪ -‬עמידות הרובוט בתנאי סביבה בה הוא‬
‫עובד ובשחיקה לאורך זמן כתוצאה מפעילות‪.‬‬
‫‪ ‬שליטת מפעיל – שליטה מרחוק של אדם על‬
‫מערכת רובוטית לצורך הפעלה או בקרה‪.‬‬
‫מושגי יסוד‬
‫‪ ‬דרגות חופש – מספר הצירים לאורכם יכול הרובוט‬
‫לנוע במרחב‪.‬‬
‫נושאי השיעור‬
‫מושגי יסוד‬
‫‪1‬‬
‫רובוט וחלקיו‬
‫‪2‬‬
‫שימוש ברובוטים‬
‫‪3‬‬
‫תהליך תכנון הנדסי‬
‫‪4‬‬
‫הכרות עם ‪VEX & EasyC‬‬
‫‪5‬‬
‫רובוט וחלקיו‬
‫‪ ‬הרובוט כמערכת‬
‫גוף‬
‫חיישנים‬
‫יחידת‬
‫כוח‬
‫מיקרו – בקר‪ ,‬יחידת‬
‫עיבוד מרכזית‬
‫מכלולי‬
‫הנעה‬
‫מכלולי‬
‫בקרה‬
‫רובוט וחלקיו‬
‫‪ ‬זרימת מידע‬
‫פקודות‬
‫למכלולי הנעה‪,‬‬
‫כוח ופלט‬
‫בקרה‬
‫המרה ועיבוד‬
‫מידע נקלט‬
‫חיישנים‬
‫נושאי השיעור‬
‫מושגי יסוד‬
‫‪1‬‬
‫רובוט וחלקיו‬
‫‪2‬‬
‫שימוש ברובוטים‬
‫‪3‬‬
‫תהליך תכנון הנדסי‬
‫‪4‬‬
‫הכרות עם ‪VEX & EasyC‬‬
‫‪5‬‬
‫שימוש ברובוטים‬
‫‪‬בתעשייה –‬
‫‪ ‬עבודות מונוטוניות‪ ,‬מחזוריות וקשות – חיתוך‪,‬‬
‫הברגה‪ ,‬אריזה והרמה‪ ,‬גימור ובדיקה‪.‬‬
‫‪ ‬עבודות קו ייצור – פעולות מהירות על סרט נע‬
‫כאשר לכל רובוט משימה בודדת אותה מבצע אין‬
‫ספור פעמים‪.‬‬
‫‪ ‬עבודות דיוק – טיפול ברכיבים זעירים ועדינים‪.‬‬
‫שימוש ברובוטים‬
‫‪‬בתעשייה –‬
‫‪ ‬עבודות מסוכנות – מכרות‪ ,‬חיתוך לייזר‪ ,‬תחזוקת‬
‫כורים גרעיניים‪ ,‬חדרי ואקום ומעבדות לטיפול‬
‫במגפות‪.‬‬
‫‪ ‬חקלאות ועבודות משק ‪ -‬חרישה‪ ,‬זריעה‪,‬השקיה‪,‬‬
‫טיפוח ואיסוף יבולים‪ ,‬תפעול לול ורפת רובוטיים‪.‬‬
‫שימוש ברובוטים‬
‫‪‬במחקר ובמדע –‬
‫‪ ‬חקר החלל ‪ -‬לווינים‪ ,‬חלליות חקר חלל עמוק‪,‬‬
‫ורכבי שטח פלנטריים על הירח ומאדים‪ .‬תחנת‬
‫חלל בינלאומית‪.‬‬
‫שימוש ברובוטים‬
‫‪‬במחקר ובמדע –‬
‫‪ ‬מעמקי הים – מיני‪-‬צוללות‪ ,‬רכבי חילוץ‪ ,‬חקר‬
‫מגוון ביולוגי‪ ,‬ארכיאלוגיה ימית‪.‬‬
‫שימוש ברובוטים‬
‫‪‬במחקר ובמדע –‬
‫‪ ‬רפואה – סיוע לרופאים בניתוחים מסובכים‬
‫ועדינים‪ ,‬גלולות מצלמה‪.‬‬
‫שימוש ברובוטים‬
‫‪‬במחקר ובמדע –‬
‫‪ ‬אנדרואידים – רובוטים הלובשים צורה אנושית‬
‫מלאה‪ ,‬כחלק ממחקר המנסה לחכות ולהעתיק‬
‫את הפיזיולוגיה וביולוגיה של האדם‪.‬‬
‫‪ ‬חקר התנהגות אוטונומית ומערכות לומדות‪:‬‬
‫• תחרויות מרוץ וניווט של רכבים אוטנומיים‪.‬‬
‫• אסטרטגיה ושחמט‪.‬‬
‫שימוש ברובוטים‬
‫‪‬בצבא ובטחון–‬
‫‪ ‬איסוף מודיעין בשדה הקרב ‪ -‬מזל"טים וכש"במים‬
‫הפועלים לבניית תמונת איומים‪ ,‬סימון מטרות‬
‫והעברת המידע לכוחות הלוחמים‪.‬‬
‫שימוש ברובוטים‬
‫‪‬בצבא ובטחון–‬
‫‪ ‬תקיפת מטרות – רובוטים חמושים המבצעים‬
‫משימות תקיפה מדוייקות באוייר בים וביבשה‪.‬‬
‫שימוש ברובוטים‬
‫‪‬בצבא ובטחון–‬
‫‪ ‬סיוע לכוחות הלוחמים – תמיכה לוגיסטית‬
‫בנשיאת אספקה בצמוד לכוח הלוחם ואספקת‬
‫מקורות אנרגיה‪.‬‬
‫שימוש ברובוטים‬
‫‪‬בצבא ובטחון–‬
‫‪ ‬סילוק פצצות ומוקשים – ביצוע משימות פירוק‬
‫ונטרול מטענים ומוקשים בכל תנאי שטח‪,‬‬
‫בשליטה מרחוק וללא סיכון חיי אדם‪.‬‬
‫שימוש ברובוטים‬
‫‪‬חינוך‪ ,‬אקדמיה‪ ,‬ותחרויות–‬
‫‪ ‬חינוך טכנולוגי –מפגש בין בני נוער ורובוטיקה כדי‬
‫להכין את הדור העתיד בצורה מיטבית לאתגרי‬
‫המאה ה‪.21-‬‬
‫‪ ‬תחרויות –עידוד התמודדות בין בתי ספר‬
‫ואוניברסיטאות להפגנת חשיבה מקורית‪ ,‬נועזת‬
‫והחדשנית באווירה מלהיבה ומהנה‪.‬‬
‫שימוש ברובוטים‬
‫‪‬מה טומן בחובו העתיד –‬
‫‪ ‬עבודת רובוטים בלהקות ונחילים – חיקוי התנהות‬
‫של חיות בתקשורת בין רובוטים‪.‬‬
‫• מזל"טים כלהקות ציפורים‪.‬‬
‫• רובוטי תקיפה ממנועים כלהקות זאבים‪.‬‬
‫• שליטה על אלפי דרואידים כנחיל דבורים ומלכתו‪.‬‬
‫שימוש ברובוטים‬
‫‪‬מה טומן בחובו העתיד –‬
‫‪ ‬ננו‪-‬רובוטיקה ‪ -‬תיקון תוך גופי וריפוי מחלות‪,‬‬
‫פעילות זעירה בכימיה וחקר כדור הארץ‪.‬‬
‫שימוש ברובוטים‬
‫‪‬מה טומן בחובו העתיד –‬
‫‪ ‬אנדרואידים הדור הבא – התפתחות ענפי‬
‫רובוטיקה חדשניים‪:‬‬
‫• ביוניקה – חקר לייתכנות הליכים של החלפת‬
‫איברים וגפיים אנושיים ברובטיים‪.‬‬
‫• סייברנטיקה –אפשרות לתפקודי רובוט בהתבסס‬
‫על מערכת עצבים ומבנה גוף אנושיים‪.‬‬
‫שימוש ברובוטים‬
‫‪‬מה טומן בחובו העתיד –‬
‫‪ ‬משימות "שגר ושכח" או "שגר ודווח" לזמנים‬
‫ארוכים‪.‬‬
‫נושאי השיעור‬
‫מושגי יסוד‬
‫‪1‬‬
‫רובוט וחלקיו‬
‫‪2‬‬
‫שימוש ברובוטים‬
‫‪3‬‬
‫תהליך תכנון הנדסי‬
‫‪4‬‬
‫הכרות עם ‪VEX & EasyC‬‬
‫‪5‬‬
‫תהליך תכנון הנדסי‬
‫• איזו משימה עיקרית ממלא הרובוט?‬
‫• אילו משימות משמנה הוא יבצע?‬
‫• מהם דרישות היסוד?‬
‫• נתח‪ ,‬באילו תנאי סביבה יפעל הרובוט?‬
‫• האם אפשרי למצוא פתרון?‬
‫• האם ניתן לחלק את הבעיה שבפניה אתה עומד‬
‫לבעיות קטנות?‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫הגדרת צורך‬
‫ניתוח‬
‫חלוקה‬
‫תהליך תכנון הנדסי‬
‫‪4‬‬
‫‪5‬‬
‫‪6‬‬
‫• אילו רעיונות עולים לפתרון הבעיה?‬
‫• אילו חלופות אפשר להציע?‬
‫• מה עלה בדיון חשיבה?‬
‫סיעור מוחין‬
‫• מהו הרעיון המוביל?‬
‫• האם אנו שלמים איתו ומוכנים ליישמו?‬
‫רעיון נבחר‬
‫• איך נראית סכמת בלוקים של הפתרון?‬
‫• כיצד זורם המידע?‬
‫• מהם הכלים שנצטרך?‬
‫דרכי מימוש‬
‫תהליך תכנון הנדסי‬
‫‪7‬‬
‫‪8‬‬
‫‪9‬‬
‫• בניית מכלולים‪.‬‬
‫• הרכבתם יחד – זיווד והרכבת גוף הרובוט‪.‬‬
‫• כיצד נראה האב טיפוס?‬
‫בניה והרכבה‬
‫• האם כל המכלולים מתפקדים ועובדים כנדרש?‬
‫• אילו בעיות‪ ,‬תקלות ובאגים נמצאו?‬
‫הרצת ניסיון‬
‫• בדוק ‪‬תכנן מחדש ‪‬שפר ‪‬נסה שוב‪.‬‬
‫• האם יש צורך לחזור חזרה לתהליך חשיבה?‬
‫• האם עתה הכל עובד ועומד במפרט?‬
‫תיקון ושיפור‬
‫תהליך תכנון הנדסי‬
‫• הרובוט צלח ועבר את שלב הניסויים‪.‬‬
‫• מוכן למשימה! בהצלחה!‬
‫איסוף נתונים והפקת‬
‫לקחים‬
‫‪10‬‬
‫שילוח‬
‫למשימה‬
‫נושאי השיעור‬
‫מושגי יסוד‬
‫‪1‬‬
‫רובוט וחלקיו‬
‫‪2‬‬
‫שימוש ברובוטים‬
‫‪3‬‬
‫תהליך תכנון הנדסי‬
‫‪4‬‬
‫הכרות עם ‪VEX & EasyC‬‬
‫‪5‬‬
‫‪Testbed & EasyC‬‬
‫‪ ‬תיכנות הבקר מתבצע באמצעות שפת ‪Easy-C‬‬
‫המאפשרת תכנות בשפת ‪ C‬באמצעות בלוקים‬
‫ותפריטים אינטראקטיביים על ידי יצירת תרשים זרימה‪.‬‬
‫‪Testbed & EasyC‬‬
‫‪ ‬מה נצטרך?‬
‫• ‪Testbed‬‬
‫• ערכת חיבור מחשב‪-‬בקר ‪.VEX‬‬
‫• מחשב‬
‫חיבור‬
‫‪SERIAL‬‬
‫מתאם‬
‫‪USB‬‬
‫ממיר‬
‫כבל‬
‫‪Testbed & EasyC‬‬
‫‪ ‬בדיקת התנהגות ועבודה ‪.on-line‬‬
‫• בעזרת ה ‪ Testbed‬נוודא שהבקר מעביר פקודות‬
‫כרצוננו וגם נראה את תגובת המנועים זבמן אמת‪.‬‬
‫• פתח את ‪:On-line Window‬‬
‫‪Testbed & EasyC‬‬
‫‪ ‬בדיקת התנהגות ועבודה ‪.on-line‬‬
‫• החלון שנפתח מאפשר שליטה ישירה על פונקציות‬
‫הבקר‪.‬‬
‫‪Testbed & EasyC‬‬
‫‪ ‬בדיקת התנהגות ועבודה ‪.on-line‬‬
‫• בחלון שנפתח לחץ ‪.Download Code‬‬
‫• אפשר תהליך צריבת הקוד לבקר ע"י לחיצה על‬
‫כפתור הממיר‪.‬‬
‫‪Testbed & EasyC‬‬
‫‪ ‬בדיקת התנהגות ועבודה ‪.on-line‬‬
‫• חכה לסיום צריבת הקוד‪ ,‬שים לב כי נורית ‪PGRM‬‬
‫על הבקר מהבהבת במהלך הכתיבה‪.‬‬
‫‪Testbed & EasyC‬‬
‫‪ ‬בדיקת התנהגות ועבודה ‪.on-line‬‬
‫• הזז את סמני הסרגל שמספרם מתאים למיקום‬
‫המנועים שקבעת‪.‬‬
‫• מה משמעות הצבעים והמספרים?‬
‫‪Testbed & EasyC‬‬
‫‪ ‬בדיקת התנהגות ועבודה ‪.on-line‬‬
‫• כיוון סיבוב המנוע ומהירותו נקבעים לפי ערך‬
‫בין ‪ 0‬ל ‪.255‬‬
‫‪+Vmax‬‬
‫‪255‬‬
‫‪127‬‬
‫‪-Vmax‬‬
‫‪0‬‬
‫‪Testbed & EasyC‬‬
‫‪ ‬כתיבת קוד שליטה בסיסי‪.‬‬
‫‪ ‬סביבת התוכנה‬
‫‪ ‬סביבת התוכנה מורכבת מ ‪ 3‬אזורים‪:‬‬
‫‪Testbed & EasyC‬‬
‫‪ ‬כתיבת קוד שליטה בסיסי‪.‬‬
‫‪ ‬ספריית הפקודות‬
‫‪ ‬ספריית הפקודות מחולקת לכמה רמות‪:‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪– Inputs‬פקודות השייכות לקלט (חיישנים)‬
‫‪ - Outputs‬פקודות השייכות לפלט (מנועים וכו')‬
‫‪ – Program Flow‬פקודות הקשורות ללוגיקה‬
‫‪ – RC Control‬פקודות השייכות לשלט ‪RF‬‬
‫‪ – User Function‬פקודות אשר נבנו על ידי‬
‫המשתמש‬
‫‪Testbed & EasyC‬‬
‫‪ ‬כתיבת קוד שליטה בסיסי‪.‬‬
‫‪ ‬תרשים הזרימה‬
‫‪ ‬באזור בניית תוכנית על ידי גרירת פקודות מספריית הפקודות‬
‫והצבתם במבנה של תרשים זרימה‪.‬‬
‫‪Testbed & EasyC‬‬
‫‪ ‬כתיבת קוד שליטה בסיסי‪.‬‬
‫‪ ‬קוד ‪C‬‬
‫‪ ‬שימוש בבלוקים של שפת ‪ EasyC‬יוצרת באופן אוטומטי קוד‬
‫בשפת ‪.C‬קוד זה הינו לתצוגה בלבד ואינו ניתן לעריכה‪.‬‬
Testbed & EasyC
.‫ כתיבת קוד שליטה בסיסי‬
‫משדר‬-‫• פיקוד שלט‬
:‫ ערוצי שליטה‬6 
x-axis of right joystick
(0-255)
y-axis of right joystick
(0-255)
y-axis of left joystick
(0-255)
x-axis of left joystick
(0-255)
right back button
(0, 127, 255)
left back button
(0, 127, 255)
.1
.2
.3
.4
.5
.6
‫‪Testbed & EasyC‬‬
‫‪ ‬כתיבת קוד שליטה בסיסי‪.‬‬
‫‪ ‬עקוב אחר השלבים‪:‬‬
‫נפתח פרוייקט חדש‬
Program Flow ‫נרחיב את‬
‫נגרור את לולאת ‪ while‬לתרשים זרימה‬
‫נגרור את לולאת ‪ while‬לתרשים זרימה‪.‬‬
‫הכנס ‪ 1‬בתנאי לולאה‬
:‫חשוב‬
Arcade = 1 joystick drive
Tank = 2 joystick drive
‫שים לב למספר המנועים‬
‫ את הבלוק המתאים‬RC Control ‫בחר מתוך‬
‫גרור את הבלוק לתוך לולאת ‪while‬‬
‫בחר את מספר הכניסה על הבקר שאליה מחובר המנוע השמאלי‪.‬‬
‫בחר את מספר הכניסה על הבקר שאליה מחובר המנוע הימני‪.‬‬
Forward/Reverse Channel = 2
‫ של הג'ויסטיק הימני‬y ‫ציר‬
‫‪Rotate Channel = 1‬‬
‫ציר ‪ x‬של הג'ויסטיק הימני‬
!‫ הקוד הראשון שלנו‬,‫מזל טוב‬
You are done writing your program.
Build & Download ‫נבצע‬
Build & Download ‫נבצע‬
‫נחכה לסיום תהליך צריבת הקוד‬
‫‪Testbed & EasyC‬‬
‫‪ ‬כתיבת קוד שליטה בסיסי‪.‬‬
‫‪ ‬הפעל את הרובוט בעזרת השלט ובדוק את‬
‫התנהגותו‪.‬‬
‫לא לשכוח לשמור את העבודה שלנו‬
LOGO