44
טטט טטטטטט טטטטטטט טטטטטטטContents םםםם םםםםםם:.............................................................. 2 םםםם םםםםםם:.............................................................. 2 1 . םםםם................................................................... 3 1.0 טטטטטט....................................................... 3 1.1 טטטטט טטטטטט................................................. 4 1.2 טטט טטCREATE ................................................. 4 1.3 טט"ט טטטטטט.................................................. 6 1.4 טטטטטט טט טטטטטטטטט טטט טטטטט טטטטטטט............................. 6 1.5 טטטטט טט טטטטטטטט טטטטט........................................... 6 1.5.1 - בבבבב ב- בבבבבCommand Module בבב בבבבב בבבבב.......................................................... 6 1.5.2 בבבבב בבבבב בבבבב- בבבבב...................................................................................................... 7 2 . םםםםם םםםםםםםםם........................................................ 9 2.1 טטטטטCREATE ......................................................... 9 2.1.1 בבבבOpen interface ...................................................................................................................... 9 2.1.2 בבבבבבב בבבבבבב...................................................................................................................... 10 2.2 טטטט טטטטטט –...................................................... 10 2.2.1 )בבב( בבבבב בבבבב..................................................................................................................... 11 2.2.2 בבבבבב......................................................................................................................................... 13 2.2.3 בבבבב בבב................................................................................................................................... 14 2.2.4 בבבבב בבבבב\בבבבב.................................................................................................................. 15 2.3 טטטטט טטטטטט...................................................... 24 2.3.1 בבבבבב בבבבבב בבבבבב........................................................................................................... 24 2.3.2 בבבב בבבב בב בבבבבב............................................................................................................... 24 2.3.3 בבבב בGUI בבבבבב בבבבבב...................................................................................................... 27 2.4 – טטטטט טטטט טטטטטט טט טטטטטטטטט................................... 31 2.4.1 בבבבב בבבב בבבבבב.................................................................................................................. 31 2.4.2 בבב בבבבבב................................................................................................................................. 31 3 םםםםםם. ............................................................... 32 םםםםםםםםםם............................................................... 33 םםםםםם םם םםםםםםםםם- םםםם ם'........................................... 34

ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

התנהגות רובוטית–ספר פרויקט

Contents

2...............................................................................................................................................................תוכן איורים:

2.............................................................................................................................................................תוכן טבלאות:

3....................................................................................................................................................................... מבוא1

3........................................................................................................................................מושגים1.04...........................................................................................................................מטרות המעבדה1.1CREATE............................................................................................................................4רקע על 1.26.................................................................................................................................לו"ז מתגלגל1.36................................................................................................... כמה רכבים ראשונים– הרכבים של ברייטנברג 1.46..........................................................................................................................– בחירה של פלטפורמת פיתוח 1.5

6........................................................................ מול שימוש במחשבCommand Module חומרה - שימוש ב-1.5.17..................................................................................................................... תוכנה - בחירת סביבת פיתוח1.5.2

9.................................................................................................................................................. פיתוח הפלטפורמה2

CREATE....................................................................................................................................................9 רובוט 2.1Open interface.............................................................................................................................9 ממשק 2.1.110..................................................................................................................................... חיישנים פנימיים2.1.2

10............................................................................................................................................ מבנה המערכת –2.211............................................................................................................................... מערכת דגימה )בקר(2.2.113................................................................................................................................................. תקשורת2.2.214........................................................................................................................................... מערכת מתח2.2.315.............................................................................................................................. מערכת שידור\קליטה2.2.4

24............................................................................................................................................. תוכנת השליטה2.324........................................................................................................................ דרישות מתוכנת השליטה2.3.124............................................................................................................................ מבנה כללי של התוכנה2.3.227................................................................................................................... והפעלת התוכנהGUI מבנה ה2.3.3

31............................................................................................................. – מימוש הרכב הראשון של ברייטנברג2.431............................................................................................................................... תקציר הרכב הראשון2.4.131........................................................................................................................................... דרך המימוש2.4.2

32................................................................................................................................................................ מסקנות3

33...............................................................................................................................................................בבליוגרפיה

34.............................................................................................................................נספח א' - הרכבים של ברייטנברג

Page 2: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

תוכן איורים:5.................................................................... המבנה החיצוני של הרובוט - מבט עילי ותחתי1איור 10................................................................................... ותפקודיהםMiniDin7, db25 מחבר 2איור 11............................................................................... סכימת בלוקים של המערכת הכוללת3איור 10v......................................................................15 אל +-15v - צורת חיבור ממיר המתח מ-4איור 16............................................................ מיקום החיישנים על גבי הרובוט, כולל מוט הארכה5איור IR.............................................................................................17 סכימה של מערכת שידור 6איור IR...............................................................................................18 מעגל שידור ראשוני של 7איור 18............................................................. משופר – תוספת של דרגת הגברהIR מעגל שידור 8איור C1..............................................................................19 תדירות השידור כפונקציה של קבל 9איור 19.................................................................. במעגלIR דיודות שידור 9 מגדל שידור המכיל 10איור 20...................................................................................................... מעגל השידור הסופי11איור 21.........................................................................................מערכת הקליטה - מבנה כללי12איור 21.......................................................................סכימת בלוקים של מבנה מערכת הקליטה13איור Band Pass Filter......................................................................22 חיבור מגבר שרת לקבלת 14איור Peak detector......................................................................................................23 מעגל 15איור 23........................................................ חיבור הדיודות הקולטות למערך מיצוע - רשת נגדים16איור 24......................................................................................................מעגל הקליטה הסופי17איור 25...................................................................................... סכימת בלוקים למבנה התוכנה18איור 29....................................................................................... לשונית קבלת קוד מהמשתמש19איור 30..................................................................................................... לשונית שליטה ידנית20איור

תוכן טבלאות:6............................................................................................. - לו"ז מתגלגל של הפרויקט1טבלה Matlab...........................................................................................9# לבין C - השוואה בין 2טבלה 34........................................................... הרכבים של ברייטנברג - חמישה רכבים ראשונים3טבלה

Page 3: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

. מבוא1

מושגים1.0להלן המושגים אשר יהיו בישמוש בספר הפרויקט, וביאורם:

iCreateהרובוט בשימוש בפרויקט –

BAM – (Bluetooth Adapter Module) מודול תקשורת המשתמש בפרוטוקול Bluetoothואשר פותח .Element Direct על ידי חברת iCreateויוצר במיוחד עבור ה-

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

Command Moduleבקר השליטה הייעודי של הרובוט –

GUI.ממשק משתמש גרפי, המאפשר שליטה אינטואיטיבית על התוכנה ממנה הוא נגזר –

BUMPחלקו הקדמי של הרובוט. חיישן מגע, שנלחץ כאשר הרובוט מתנגש בקיר או נלחץ אל בחפץ – אחר מקדימה

C -נקרא כ - #C sharp( שפת תכנות מנוהלת משאבים . Managed codeמבית מייקרוסופט. השפה ) .Visual Studio 2009בה פותח הקוד לפרויקט זה, בסביבת

OI – Open Interfaceהינה מערכת של תקנים וספציפיקציות שיש לעמוד בהם על מנת לתקשר עם iRobotהרובוט בתקשורת טורית. למידע נוסף ניתן לעיין במדריך למשתמש של

Page 4: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command
Page 5: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

מטרות המעבדה1.1

Createרקע על 1.2

ידי חברת Createרובוט ה- מיוצר על iRobot-רובוט אחר, ה גרסה של הוא מהווה ולמעשה ,iVac (Roomba)-השוני בין שני הרובוטים בא לידי ביטוי בכך, שה .Createבנוי מלכתחילה כרובוט שנוח

ומודיפיקציה על רקע פריצת ה- יכולתiVacלהאקינג ושינוי התפקודים/תכנות השונים שלו. לרובוט ( ( בה הוא משתמש בעת העברת הנתונים ממנו אל המחשב ובעת קבלתRS-232תקשורת טורית

המאפשר לרובוט לתקשר באופן אל-חוטי עםBlueToothהוראות מהמחשב. יציאה זו משורשרת לרכיב המחשב.

Page 6: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

הרובוט: של המבנה תרשים להלן

המבנה החיצוני של הרובוט - מבט עילי ותחתי1איור

. בממשקOpen Interface ממשק תקשורת המאפשר מתן הוראות וקריאת נתונים, הוא ה- Createל היוצאות המתח רמות את המתאים ייעודי כבל דרך סיריאלית הינה הרובוט עם התקשורת זה,

Page 7: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

ייעודי הנקרא RS-232מהרובוט לפרוטוקול Bam(Bluetooth, או באמצעות מודול תקשורת Adapter Module)-והמורכב על יציאת ה CargoBayשל הרובוט. כמו כן, לרובוט יכולת מובנית לביצוע תוכניות

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

בנוסף, ישנו רכיב ייעודי לרובוט אשר באמצעותו ניתן לתכנת מגוון רחב יותר, אם גם עדיין מוגבל, של של הרובוט.CargoBay, והוא מורכב על יציאות ה- Command Moduleתוכניות. רכיב זה הינו ה-

לו"ז מתגלגל1.39.0910.0911.0

912.091.102.103.104.105.106.107.108.109.10

סקרספרו

ת #,Cבדיקות היתכנות – מטלב,

יכולות הרובוט ועודממשק כתיבת הגרפי המשתמש על השליטה עבור

הרובוט– הרובוט סביב החומרה פיתוח דגימה, קליטה, שידור מעגלי

תקשורת וכד'ספר כתיבת חלק פרויקט מצגת + א' פרויקט סיום

א' - לו"ז מתגלגל של הפרויקט1טבלה

כמה רכבים ראשונים– הרכבים של ברייטנברג 1.4" -Vehiclesבספרו Experiments in Synthetic Psychology" ניסוי(1986) ברייטנברג ולנטינו מתאר

מחשבתי באינטליגנציה מלאכותית. לשיטתו מתבוננים בתגובת רכב – למעשה רובוט בעל חיישניםומנועים – לגירויים בסביבתו ושואלים את השאלה: האם ניתן לסווג התנהגות זו כתבונית?

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

החומרה/תוכנה לכל אחד מהם ניתן לקרוא בנספח א'.

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

– בחירה של פלטפורמת פיתוח 1.5

מול שימוש במחשבCommand Module חומרה - שימוש ב-1.5.1שמגיע עם ה – command moduleתחילה נבחנה האפשרות להשתמש ב- Irobotפתרון זה בעצם .

חוסך את התכנון של מערכת שליטה חיצונית. בתצורה זו הסטודנטים יכתבו את התוכנה שהם רוצים בעזרת כבל סיריאלי. העיבוד של האלגוריתם יתרחש ב-command moduleויטעינו אותה ל- Cלממש ב-

Command moduleעל הרובוט ולא תהיה תלות של הרובוט בתקשורת אלחוטית או במחשב חיצוני הוא פתרון תעשייתי אשר תוכנן במיוחדcommand moduleבאופן כללי. ההיתרון שבשיטה זו הוא שה-

Page 8: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

( וחסין לתקלות מאשר פתרון שיבנה במעבדה, ובכך יתאיםRobustלרובוט זה ולכן הוא יותר רובסטי )יותר למעבדה שאמורה לרוץ באופן אינטנסיבי.

הם:command moduleהחסרונות שנמצאו בשימוש ב-

++ – מוסיף דרישה לידע מוקדם של הסטודנטיםC/C את התוכנה לבקר צריך לכתוב בשפת .1בשפות אלו.

של .2 זכרון את 14kb גודל גם ולכן לרובוט להטעין שניתן הסקריפטים גודל את –מגביל מורכבותם.

למחשב.3 הרובוט בין הינו התקשורת הרובוט בשימוש נמצא אשר התקשורת פרוטוקול – (. לרובוט ולבקר יכולת מובנית לתקשר עם גורם יחיד, לפיכך כאשרrs232פרוטוקול טורי )

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

( של הסטודנטים.Debuggingיכולת פתרון הבעיות ) – בהמשך ישיר לנקודה הקודמת, כל שינוי בתוכנה offline ניתן לכתוב את התוכנה לבקר רק ב-.4

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

עבור הסטודנטים.

נוחות הסטודנטים בביצוע הניסוי וגמישות מרבית של האלגוריתמים אשר ניתן להריץ על הרובוט הינם ולפתח מערכת שליטהcommand moduleחשובים בפרויקט זה, לפיכך הוחלט לזנוח את השימוש ב-

חיצונית לרובוט בעזרת מחשב.

תוכנה - בחירת סביבת פיתוח1.5.2הרובוט על שליטה מערכת פותחה במהלכו אשר קודם, פרויקט על להתבסס תוכנן הפרויקט

) להלן – "המערכת הקיימת" ( . שימוש בפונקציות הנ"ל מהווה המשךMATLABבאמצעות פונקציות לפרויקט הקודם ומקצץ באופן משמעותי את זמן הפיתוח לפרויקט הנוכחי. במהלך בדיקות ההיתכנות, פשטות ההפעלה עבור משתמש הקצה, מהירות הפיתוח והרובסטיות של התוכנה היוו את אבני הבוחן

העיקריות.

הפרויקט לדרישות והתאמתה הקיימת נבדקה המערכת העבודה לפיכך, בשלב הראשון בתהליך הנוכחי, וביצוע אדפטציות בהתאם לצורך.

במהלך ההעמקה במערכת הקיימת עלו מספר סוגיות, והן :

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

.הרובוט לפעולת השהיות שהכניסה בצורה נעשה הקיימת המערכת מימוש – השהיות ה- נלחץ כאשר מיד לעצור צריך הרובוט התוכנה פי על הקדמי,BUMPלדוגמא, )חלקו

כשניה לאחר לסובב את הגלגלים המנועים המשיכו בפועל קיר, למשל(. עם בהתנגשות .BUMPלחיצה על ה

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

#. לטובת החלטה בין שתי סביבות הפיתוח נבדקו היכולות שלCנוספת, להשתמש בסביבת הפיתוח (, יכולות הצגה גרפיותGUIשתיהן במספר פרמטרים כגון נוחות פיתוח ממשק המשתמש הגרפי )

.Root locus, Bode, Nyquistויכולות עבודה עם כלי אנליזה של בקרה, לדוגמא

אמנם במימוש הסופי לא באה לידי ביטוי יכולת העבודה עם כלי האנליזה הנ"ל אולם ניתן להוסיףיכולות אלו על פי דרישה.

Page 9: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

#. להלן הבדיקות שנעשו ותוצאותיהן בכל סביבה:Cבסיכומו של דבר נבחרה סביבת ה-

:Matlabסביבת פיתוח א' – הם:Matlabהיתרונות הבולטים של סביבת הפיתוח

.היכולת מובנית לעיבוד מידע והצגתו בצורה גרפית .השליטה של מפתחי התוכנית בשפה ולכן קיצור זמן הפיתוח של התוכנית

בGUI כחלק מהותי בו. פיתוח GUIמטרות הפרויקט מגדירות את ה- Matlabאינו אינטואיטיבי כפי ושליטת המפתחים בCשהוא ב- #Matlab וידע בפיתוח ניסיון אינה כוללת GUIזו. לפיכך בסביבה

נדרשת העמקה והשקעה של זמן בלמידה של נושא זה, השקעה אשר מבטלת את היתרון המוזכרלעיל.

בהמשך לאמור לעיל בנוגע לתאימות לאחור, נבחנו מספר פתרונות על מנת להתגבר על התאימות:Matlabלגרסאות עתידיות של

התוכנית תותקן הגרסה המסויימת של.1 כי על המחשבים שעליהם תרוץ הוספת הדרישה Matlab.שבה התבצע פיתוח התוכנית

.Matlabבדיקה והתאמה מחודשת של התוכנית עם כל עידכון גרסה של .2.Matlab מקבצי הexecutableיצירת קבצי .3

שני הפתרונות הראשונים מסרבלים את תמיכת הניסוי על ידי צוות המעבדה. הפתרון השלישי מורכב#. Cולא נבחן עד תום מכיוון שבשלב זה נפלה ההחלטה לעבור לפיתוח בלעדי ב-

#:Cסביבת פיתוח ב' - # הם:Cהיתרונות הבולטים של סביבת הפיתוח

תמיכה מובנית בבנייתGUI בשימוש בסביבת ( visual studio) .אין תלות בין גרסת הסביבה שבה נכתב קוד התוכנית לבין גרסת הסביבה בה הקוד רץ

שניתן להפעילו בלי צורך בהתקנה של executableלמעשה מתקבל קובץ visual studioעל שצריך להיות מותקן על המחשב על מנת להריץ קוד.Matlabהמחשב. זאת, בניגוד ל-

קיום של מגוון רחב של מודולים – קטעי קוד – באינטרנט. אמנם קיימים גם מודולים עבור Matlab אולם עבור Cהמגוון הינו עשיר ורחב יותר. ניתן למצוא מודולים רבים אשר נכתבו על #

( ולכן יהיו רובסטיםMSDN developersידי מפתחי סביבת הפיתוח במייקרוסופט ) באתר ה- יותר ויעילים.

# הם:Cהחסרונות הבולטים של סביבת הפיתוח

אין תמיכה מובנית ואינטואיטיבית בהצגת גרפים,אין תמיכה מובנית ואינטואיטיבית בעיבוד מתמטי של מידע כגון השימוש במספרים מרוכבים

פונקציות תמסורת ועוד עבור השימוש בכלי האנליזה של הבקרה.

על מנת להתגבר על חסרונות אלו נבדקו חבילות הרחבה ) עם עדיפות לחינמיות ( אשר יוסיפו לקוד עבור הצגת הגרפים ו-Z-graphsאת היכולות הנדרשות. החבילות שנבדקו ונמצאו מתאימות לכך הן

Math.net.עבור החישובים המתמטיים

# אמנם נתפס תחילה כחסרון, אולם נוחות השפהCחוסר ההכרות הראשוני של מפתחי התוכנית עם .Matlab ב-GUIללימוד אפשרה השקעת זמן קצר יותר מזה הנדרש עבור לימוד של בנית

Page 10: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

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

הפיתוח העדיפה בכל קטגוריה:

C#Matlabקטגוריה

יותר בצורה אבל לבצע ניתן מסורבלת ומוגבלת

בחישוביםמובנית וקלה תמיכה ובגרפים של בקרה

אין תמיכה מובנית, קשה לתאםיש תמיכה מלאהבין גרסאות שונות

תמיכה בגרסאות שונות

איןGUIבאופן כללי יש, בבניית איןשל מוקדמת הכרה סביבת עם המפתחים

הפיתוח

באינטרנט מלאה תמיכה לכל מודול שיידרש

שמדגים קודם פרוייקט קיים שליטה ברובוט ) אבל קיימות בודוגמאות באינטרנט .) בעיות

מוגבלות

דוגמאות למודולים

ויותרתמיכה מלאה אינטואיטיבית פחות מסובכת

GUIתמיכה בבניית

תוכנה בשום צורך אין חיצונית לצורך הניסוי

מסויימתMatlabיש צורך בתוכנת על המחשב.

דרישות להתקנת תוכנותעל המחשב לצורך הניסוי

באמצעות מלאה תמיכה visual studio

אפשרויות הפצהמסורבלות ולא אינטואיטיביות

Matlab# לבין C - השוואה בין 2טבלה

סיכום היתרונות והחסרונות של כל סביבת פיתוח מעלה את המסקנות הבאות:

-התאימות לאחור בMatlabהינה נושא מהותי שלא נמצא עבורו פתרון זמין וסביר מבחינת משאבים.

-ניתן למצוא פתרונות סבירים עבור כל החסרונות שעלו במהלך הבדיקה בC .#

על כן משיקולי פשטות ההפעלה עבור משתמש הקצה, מהירות הפיתוח ורובסטיות התוכנית הוחלט#.Cלהמשיך את פיתוחה על גבי סביבת

. פיתוח הפלטפורמה2 פרק זה סוקר את החלופות למימוש הפלטפורמה, הן מבחינת דרישות החומרה והן מבחינת דרישות

התוכנה. בנוסף מתוארות בהרחבה החלופות שנבחרו.

Create רובוט 2.1

Open interface ממשק 2.1.1הינו הממשק שחברת Open Interface (OI)ממשק ה- iRobot.כתבה על מנת לתקשר עם הרובוט

לממשק שני חלקים – ממשק אלקטרוני וממשק תוכנתי. הממשק האלקטרוני בנוי משני מחברים כפי:1שניתן לראות באיור

mini-din פינים הממוקם בצידי הרובוט בסמוך לשקע הטעינה שלו .7 בעל Db25 פינים הממוקם בתא המטען.25 בעל

Page 11: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

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

תאור הפעולה של כל אחד מהפינים שלהם:

ותפקודיהםMiniDin7, db25 מחבר 2איור

חיישנים פנימיים 2.1.2וניתן לקבל חיווי על הדגימות שלהם באמצעות ממשק ה- . אתOIלרובוט חיישנים פנימיים רבים,

:1מיקום החיישנים ניתן לראות באיור

חיישןIR מרכזי – מאפשר שליחה של פקודות לרובוט בצורה של IR.מקודד בעזרת שלט ייעודי חיישן זה גם מאפשר לרובוט למצוא את תחנת העגינה שלו ולהתחבר אליה לצורך טעינה

מחדש. חיישןwall.נמצא בחלקו התחתון-ימני של הרובוט . למעשה זהו חיישן קרבה - חיישןBumpנמצא בחלק הקדמי של הרובוט, מורכב למעשה משני חיישני מגע )מיקרו –

. כאשר שני החיישנים נלחציםBumpסוויטצ' (. מיקום שני חיישני המגע – אחד בכל קצה של ה ביחד מתקבל חיווי למכשול מקדימה, וכאשר רק אחד מהם נלחץ מתקבל חיווי על מכשול

בצד הלחוץ. חיישניcliff– ארבעה חיישני רבה, הכוונים כלפי מטה והממוקמים בקדמת הרובוט. מטרתם –

חיווי על קרבה למדרגה. חיישניWheel dropוהמופעלים כאשר – חיישני מגע הממוקמים במגרעת מעל לכל לגל

הגלגל באוויר.

Page 12: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

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

מבנה המערכת –2.2המערכת הכוללת מורכבת ממספר תת-מערכות. תת-מערכות אלו הינן:

מערכת השליטה על הרובוט – המחשב והתוכנה עליו-מערכת התקשורת עם הרובוט והדוגם שעליו – מודולי הBAM – מערכת הרובוטIcreate מערכת הדגימה – מיקרובקרPIC כניסות אנלוגיות4, בעל יכולת דגימה של )מערכת השידור/קליטה של אינפרה-אדום )מימוש אחד מיני רבים של החיישנים על הרובוטמערכת אספקת המתח – הרובוט עצמו, מייצב מתח על הרובוט, ספק חיצוני עבור מגדל

שידור האינפרה-אדום

האיור הבא מתאר בצורה גרפית את תת-המערכות השונות ואת יחסי הגומלין ביניהן

סכימת בלוקים של המערכת הכוללת3איור

מערכת דגימה )בקר( 2.2.1

דרישות מהבקרבבדיקות ראשוניות עלה כי הדרישות המינימליות עבור הבקר הן:

15 שידור חבילת מידע אחת כלms לפחות – . אי עמידה בדרישה זו יגרור פיגור של15msקצב השידור המינימלי של הרובוט הוא אחת ל-

המידע מהבקר לעומת המידע המגיע מן הרובוט. על מנת למנוע מצב זה יש לעמוד בדרישהזו.

יכולות עיבוד בסיסיות בלבד -

Page 13: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

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

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

בשני תדרים שונים, ולצורך דגימתם יש צורךIRהרכבים נבחר מימוש של שתי תחנות שידור בארבעה ערוצי דגימה אנלוגיים.

יכולת שליחת מידע למחשב בפרוטוקול rs232 – בפרוטוקול מתבצעת המחשב עם שלrs232התקשורת הטבעי הפרוטוקול שהו מכיוון

הרובוט. על כן הועלתה הדרישה שהבקר יתקשר בפרוטוקול זה גם כן. ( 5 עדיפות למתחי העבודה שמספק הרובוטv,15v ) –

מיקומו של הבקר על הרובוט גורם לתעדוף הפתרונות המתבססים על המתחים הזמיניםיידרשו מקורות מתח מהרובוט. עבור בקר הדורש לפעולתו התקינה מתחים שונים מאלו

חיצוניים ) כגון סוללות( או ממירי מתח, דרישה אשר תסרבל את המערכת.

בחירת הבקר . לנוכח הדרישותTexas Instruments ( TI ) או Microchipהבקרים האפשריים לשימוש הינם מתוצרת

הבסיסיות שפורטו לעיל, כל אחד ממגוון הבקרים הרחב התאים לשילוב כדוגם במערכת. עם זאת 3.5 הפועלים במתח TI וולט לעומת הבקרים מתוצרת 5 פועלים במתח Microchipהבקרים מתוצרת

בקרי עם בעבודה המצטבר הידע בנוסף, מצדMicrochipוולט. והן המעבדה צוות מצד הן – סטודנטים המשלבים בקרים אלו בפרויקט שלהם. נקודות אלו מטים את כף המאזניים כלפי הבקרים

על גבי כרטיס פיתוח של המעבדה עקב זמינותו PIC18F4431. הבקר שנבחר הינו Microchipמתוצרת וזמינות כרטיס הפיתוח עבורו.

תפקיד הבקר במערכת ( בית שגיאה דגימה של מוצא החיישנים האנלוגיים, חישוב Checksumתפקידיו של הבקר הם:

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

רגלי הבקר בשימוש

Page 14: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

אופן פעולת הבקר . הבקר ממיר אותו לאות שעון40kHzגביש חיצוני המורכב על כרטיס הפיתוח מחולל אות שעון בתדר

"1. בכל פולס של השעון ) כלומר כאשר הוא במצב "304.7Hz ) להלן "שעון" ( בעל תדר TMR0משלו, של הבקר. בעת קבלת פקודת הפעלה מתבצעותA/D( נשלחת פקודת הפעלה בודדת למערכת ה-

:A/Dהפעולות הבאות במערכת ה- סיביות.10 למילה בת AN0,AN1דגימה של הכניסות .1שמירת האות הדגום ברגיסטרים ייעודיים פנימיים במערכת הדגימה..2 . AN2,AN3 עבור הכניסות 1-2חזרה על צעדים .3הודעת סיום..4

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

לדגום. שלUARTלאחר קבלת הודעת הסיום ממערכת הדגימה הבקר משדר את חבילה המידע דרך יציאת

הבקר באופן הבא: ( תחיליתHeader-המורכבת משני בתים. לבית ה"גבוה" ניתן ערך גבוה מ ) וכך מובטח4

צירוף ייחודי שאינו יכול להתקבל מערוצי הדגימה, שכן בכל ערוץ הבית הגבוה אינו יכול לקבל סיביות(.10 )מכיוון שהאות הדגום שמור ב4ערך גבוה מ-

( שמונה בתים, שמקורם ברגיסטרים של מערכת הדגימהA/Dברגיסטרים של מערכת .) סיביות, ולכן על מנת לשדר את המידע האגור10הדגימה האות הדגום שמור במילים בנות

ערוצי דגימה יוצרים4ברגיסטר יש צורך בשני בתים בעלי שמונה סיביות כל אחד. לפיכך בתים לשידור.8ביחד

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

ידי הגדרת הרגיסטרים המתאימים.RXברגל ניתן להפעיל אותה על של הבקר. בהתאם לצורך , מכיוון שפלטפורמת התקשורת האלחוטיתBAMבנוסף, הבקר נדרש לשדר בקצב המתאים לקצב ה

. BAM, הוא קצב השידור הטבעי של ה-Baud rate = 57.6k. מסיבה זו נבחר BAMהיא ה- תפקידו האחרון של הבקר הוא ליצור חיווי על גבי הרובוט לרמת העוצמה של האות הנדגם. לצורך כך

מהבקר, יציאות המהווים רגיסטרים ארבעה עובר סףRB4-RB7הוגדרו הנדגם והאות ובמידה , . ניתן לשנות את חוקיות5v" ) 1" ל- "0שהוגדר מראש בבקר, היציאה המתאימה ממותגת מ " )

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

תקשורת2.2.2 מפרוייקט קודם שהתחברוRFשיטת התקשורת שנבדקה ראשונה הייתה מודולים מוכנים של תקשורת

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

שיהיה יותר עמיד לתקלות ויהיה נוח לתחזוקה עבור ניסוי המעבדה.

דרך התקשורת החיצוניים למחשב. הנוסף מהחיישנים המידע דרכים למשלוח של נבחנו בנוסף המובנית של הרובוט ניתן להעביר רק מידע מחיישן אנלוגי חיצוני יחיד ולכן הוחלט כי יש צורך בתכנון

ערוץ תקשורת נוסף עבור החיישנים הנוספים.

דרישות ממערכת התקשורתה דרישות מינימליות למערכת התקשורת הן:

– בין חבילות 15ms זמן מקסימלי של .1 . באופן דומה לדרישה מהבקר, על מנת למנוע מצב15msזמן העיבוד המינימלי של הרובוט הוא

בו המידע המגיע מהחיישנים הנוספים יפגר אחר המידע מן הרובוט יש לעמוד בדרישה זו. – שני ערוצי תקשורת נפרדים.2

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

המערכת וייתכן אף אחוז גבוה יותר של שגיאות במידע לעומת שני ערוצים נפרדים. יכולת עבודה עתידית של כמה קבוצות בחדר אחד מבלי שיפריעו אחת לשניה.3

Page 15: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

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

בחירת רכיבי מערכת התקשורתכבר נפסלה זו אפשרות ארוך, טורית בכבל תקשורת שימוש היתה שנבדקה ראשונה האפשרות

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

)עבור מקורות המידע השונים ועבור קבוצות סטודנטים שונות(. הוחלט להשתמש ברכיבים אלו, אשר נבנוElement Direct של חברת BAMלבסוף עקב קנייה של רכיבי

.ICreateבמיוחד עבור תקשורת בלוטוס לרובוט אחד לבקר ואחד לרובוט. ברובוט ישנו מקוםBAMעל מנת ליצור שני ערוצים נפרדים הוחלט להקדיש

ולכן נדרש שכפול של מחבר ה-BAMל יחיד, db25 ידי על flat cable-ה .BAMהמשדר את המידע db25 השני חובר דרך מחבר BAMמהרובוט חובר בסמוך למיקומו הטבעי בתא המטען של הרובוט, וה-

של הבקר. צורת חיבור זו נתמכה בסקירה בפורומיםUARTבחלקו למתחי הרובוט ובחלקו ליציאת באינטרנט, ולהלן הפירוט שלה:

5מתחv של ה8 ברגל BAM : 14,16,21,25אדמה בכל הרגליים המוגדרות לכך – רגלי התקשורתRX 1 רגל ,TX 2 רגל.

BAMהכנת המחשב לקליטת המידע ממודולי ה- במחשב יש לבצע את הפעולות הבאות:BAMלצורך קליטת המידע ממודולי ה-

Bluetooth לניהול התקני BlueSoleilהפעלת תוכנת .1

למחשב, במידה ולא קיים מודם פנימיBluetoothחיבור מודם .2

Bluetooth מזהה את המודם יש לבצע סקירה לאיתור התקני BlueSoleilלאחר שה-.3

ולבחורBAMיש לבחור בכל מודול .4 המופיע בתמונה, ללחוץ על הקליק הימני של העכבר באופציה של חיפוש/רענון שירותים

Virtual serial port יש לבחור באופציה BAMעבור כל .5

לצורך שימוש בתוכנת השליטה על הרובוטBAM שניתן לכל Portיש לבדוק מה מספר ה-.6

מערכת מתח2.2.3 אשרCargo Bay ב-db25על מנת להפעיל ציוד נוסף על הרובוט קיימת אפשרות להתחבר למחבר ה-

מספק את המתחים הבאים:

Regulated 5v 15מתחvהישר מהסוללה הפועל תמיד 15מתחvהישר מהסוללה הפועל רק כשהרובוט מופעל

במתחים שישתמשו כך המודולים כל של תכנון היה הפלטפורמה בתכנון המנחים הקווים אחד או שימוש בספקים חיצוניים. הרובוט שמספק הרובוט בכדי למנוע את הצורך לחבר סוללות על

בתת מערכת השידור\קליטהBand pass ( BP )המודול היחידי שהיווה בעיה הוא המגבר-שרת במעגל ה-

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

Page 16: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

. לפיכךBPהמתחים שהרובוט מספק אינם כוללים את אלו הדרושים על מנת להפעיל כהלכה את ה

,HIN323CP . המרה זו מתבצעת על ידי הרכיב מהרובוט למתח של-5vנדרשה המרת מתח מ- (. הסיבה לבחירת הרכיב הזה הינהRS232אשר במקור מתפקד כמקלט/משדר של תקשורת טורית )

זמינותו במעבדה. צורת החיבור לרכיב הינה:

10v אל +-15v - צורת חיבור ממיר המתח מ-4איור

. מתח זה נמוך4.6v לסביבות 5vכאשר חוברו כל הרכיבים למתח האספקה של הרובוט, נפל המתח מ היאBAMמדי לצורך פעולה תקינה של הבקר. סקירת ספרות העלתה כי צריכת הזרם המירבית של כל

100ma ( ואילו הזרם המירבי שניתן לקבל מהיציאה המיוצבת של הרובוט 5v גם הוא ) 100mAלכן . 15v ליציאת ה-5v. מקור זה נוצר על ידי חיבור רגולטור של 5vעלה הצורך "ליצור" מקור מיוצב נוסף של

. על מנת לחסוך בהספק נעשה שימוש100mAשל סוללת הרובוט, אשר יוכל לספק זרם גבוה יותר מ- .5v ל8v, 8v ל15vבכרטיס שנבנה במעבדה ובו שתי דרגות של רגולטורים בטור:

ופין האדמה של הרובוט נשארו חשופים הודות להארכה של מחבר 15vיציאת db25שתואר בפרק 5v. הרגולטור החדש מסוגל לתת זרם גבוה יותר מזה של יציאת BAMהקודם, ושימש לחיבור שני ה-

Page 17: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

של מידע החיישנים החיצוניים יחוברוBAMהמיוצבת של הרובוט, הוחלט כי בנוסף לחיבור מודול ה-אליו גם שאר צרכני הזרם על גבי הרובוט.

מערכת שידור\קליטה2.2.4הפלטפורמה תוכננה כך שניתן יהיה לחבר אליה חיישנים אנלוגיים מסוגים שונים.

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

לרובוט אינו משנה אלה רק המרחק.

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

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

חיישן(.

מיקום החיישנים על גבי הרובוט, כולל מוט הארכה5איור

עבור דרישות מספר הועלו השידור\קליטה מערכת את ולבנות החיישנים את לבחור מנת על החיישנים:

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

אופן הדגימה שנבחר הוא דגימה אנלוגית על ידי בקר. אנלוגים – הנחה בסיסית עבור מימוש האלגוריתמים של ברייטנברג. חוסר כיווניות – מרחק קליטה של לפחות מטר .

Page 18: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

למרות הרצון במרחק קליטה כמה שיותר רחוק יש צורך לדאוג כי כאשר מרחק רוויה סביר – הרובוט יהיה קרוב למשדר, החיישנים לא יכנסו למצב רוויה ועדיין יתקבל חיווי מרחק. על

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

הפתרון הנבחר האופציות לחיישנים שמתאימים לדרישות הנ"ל הם חיישנים אולטרסונים, תרמים, אינפרה-אדום או

חיישנים של אור נראה.

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

מערכת שידור–מימוש המבנה הכללי של מערכת השידור הוא:

remiTecruos tnerruCsedoid gnittime RI5tuptuO v

IR סכימה של מערכת שידור 6איור

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

אחד מהם יש שני חיישנים שקולטים רק אותו.

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

ההבדל היחידי ביניהם הוא רק בקבל אחד אשר תפקידו לקבוע את התדירות.

גבוה ללא סכנה של ונפוץ בשידור באינפרה-אדום כאשר מעוניינים בהספק שידור פתרון מקובל נמוך במקום באות קבוע. קיים חופש בבחירתduty-cycleשריפת המשדרים הוא שידור בפולסים ב

תדירות הפולסים ולכן הוחלט להשתמש בתכונה זו כדי לקבל את ההפרדה הדרושה בין המשדרים.

, רכיב זה מכיל שני טיימרים אךLM556התדירות הבסיסית של השידור נקבעה בעזרת רכיב טיימר . HIRL5040בפועל נעשה שימוש רק באחד. דיודות השידור הן מסוג

מעגל השידור הראשוני היה:

Page 19: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

2 Rk 5

3 Rk 1

2 Cu 1 0 . 0

4 R0 2

8 4 1 4 N 1 D

8 4 1 4 N 1 D

1 Rk 1

r e t ti m E R I

6 5 5 M L

D N G

1

R E G GI RT2

T U PT U O3

T E S E R4

L O RT N O C5

D L O H S E R HT6

E G R A H C S I D7

C C V

8

c d V 5

0

1 Cu 1 . 0

k 5

IR מעגל שידור ראשוני של 7איור

R2 על ידי נגד משתנה המיוצג בשרטוט כ- duty-cycle, הC1במעגל זה התדירות נקבעת על ידי קבל . עבור הרכיבים המצויינים בסרטוט התקבל גל ריבועי בתדירותR4והזרם המקסימלי נקבע על ידי נגד

750Hzב duty-cycle 160 ובזרם מקסימלי של 50% שלma.

. מכיוון שהשידור הוא100mA הוא DCלפי דף המידע של המשדרים, הזרם המקסימלי עבור שידור ב- 60% של חצי ממחזור השידור הוחלט כי ניתן לעבור את הזרם המקסימלי בכ-duty-cycleבפולסים ב

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

. בנוסף14A, אשר מתאים לזרמים של עד MOSFET IRF530דרגת ההגברה שנבחרה היא טרנזיסטור של הטיימר ל-duty-cycleהוחלט להוריד עוד את ה- לצורך הגברת הזרם לדיודה. קונפיגורציית0.25

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

2 Rk 4 8 . 1

k 2 6 . 8

3 Rk 1

2 Cu 1 0 . 0

8 4 1 4 N 1 D

8 4 1 4 N 1 D

1 Rk 1

6 5 5 M L

D N G

1

R E G GI RT2

T U PT U O3

T E S E R4

L O RT N O C5

D L O H S E R HT6

E G R A H C S I D7

C C V

8

c d V 5

0

1 Cu 1 . 0

0 3 5 F RI

4 R5 . 3 1

r e t ti m E R I

משופר – תוספת של דרגת הגברהIR מעגל שידור 8איור

Page 20: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

1.6vחישוב הזרם במעגל זה נעשה תחת ההנחה כי מפל המתח על הטרנז' יהיה זניח וכי יפול מתח של

כך שיתקבל להיות R4, נבחר ערכו של נגד 5vעל הדיודה. מכיוון שהטיימר משרה מתח של (.0.25 של השידור: duty-cycle בדיודה ) זרם זה נובע מה-260mAלפי חוק אוהם זרם של

השלב הבא היה לקבוע את התדירויות בהן יעבדו המשדרים. לצורך כך נדגמו מספר ערכים של קבלים על מנת לשרטט גרף מקורב של התדירות כפונקציה של הקיבול. הגרף שהתקבל הוא:C1עבור

80-E

03.3

80-E

07.4

70-E

00.1

70-E

05.1

70-E

02.2

70-E

03.3

60-E

00.1

60-E

02.2

60-E

03.3

60-E

07.4

01

001

0001

00001

ecnaitcapaC 1C sV .qerF gni itmsnarT

]F[ ecnaitcapaC

]zH[

.qe

rF

C1 גרף תדירות השידור כפונקציה של קבל 9איור

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

במעגלIR דיודות שידור 9 מגדל שידור המכיל 10איור

Page 21: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

. סקירת דפי הנתונים מעלה כי מפתח השידורHIRL5040 מסוג IRדיודות השידור שנבחרו הן דיודות

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

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

11בקלות מה תדירות השידור שלו. חיבור זה מתואר באיור

מעגל השידור הסופי נראה כך:tiucriC srettimE RI

c d V 5

tiucriC rotareneG esluP

D E L w oll e Y

k 3 3 . 0

0 3 5 F R I

k 4 8 . 1

k 1

u 1 0 . 0

8 4 1 4 N 1 D

8 4 1 4 N 1 D

k 1

11 U

B 5 5 5D N G

1

R E G G I RT2

T U PT U O3

T E S E R4

L O RT N O C5

D L O H S E R HT6

E G R A H C S I D7

C C V

8

u 1 . 0

k 2 6 . 8

s ' D E L R I6 . 6

e cr u o S r e w o P l a n re t x E

מעגל השידור הסופי11איור

מימוש – מערכת קליטההמבנה הכללי ביותר של מערכת הקליטה הוא:

Page 22: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

מערכת הקליטה - מבנה כללי12איור

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

שתפקידה להפריד את האותות של המשדריםBand-Passויעבירו את המידע למערכת של מעגלי השונים.

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

זה נבנה מעגל ולצורך . המערכת שמומשה לבסוףBand-Passמערכת קליטה הכוללת את הסינון .13איור מתוארת ב

סכימת בלוקים של מבנה מערכת הקליטה13איור

מומש על ידי מגבר-שרת. בדומה לשאר תת-המערכות נבדקה תחילה האפשרותBand Passמעגל ה- (. בדיקות מקדימות הראו5vdcלהפעיל את המגבר-שרת בעזרת מתחי האספקה שמספק הרובוט )קרי

Page 23: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

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

הוחלטהאספקה. תופעה זו מתגברת עבור אות כניסה חלש. לצורך קבלת מתחים סימטריים . לצורך קבלתמערכת מתח2.2.3. תיאורו והשימוש בו מתוארים בפרק HIN323CPלהשתמש ברכיב

חובר המגבר-שרת בתצורה הבאה:Band Passמעגל

A 11 U

IT / 1 0 3 / 2 70 LT

+3

-2

+V8

-V4

T U O1

2 C

1 C

2 R

1 R

3 R

0

c d V 0 1c d V 0 1

Band Pass Filter חיבור מגבר שרת לקבלת 14איור

נעשה על ידי המשוואות:Band Passחישוב הפרמטרי מעגל ה-

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

בנוסף לצורך התאמה של השידור לתחום התדרים של המגבר שרת שונה הקבל התחתון )הקבל

. לקבל של 11שקובע את התדירות( באיור

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

Page 24: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

( שתפקידו לשמר את השיא של האות הסינוסי. מעגל זה הותקןPeak Detectorמעגל "גלאי עוצמה" ) :15איור במוצא המגבר-שרת ובכניסה לרגל הדוגמת של הבקר. סכימה של המעגל מובאת ב

2 R

3 6 0 3 N 1 D1 R

k 1

Cu 1 . 0

Peak detector מעגל 15איור

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

ה בחיישני הנקלט באות מהירים שתיIRשינויים בין פשרה הוא האופטימלי הנגד ערך לפיכך, .

. להיות spiceהאפשרויות הנ"ל ונבחר על ידי סימולציות ב-

כך גם בקליטה. לצורך זה נעשה שימוש בדיודות קליטהIRבדומה לדרישת חוסר הכיווניות בשידור ה-

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

לשלב אותן ללא כל קושי בפלטפורמה שפותחה.

דיודות קליטת הן סטנדרטיות IRדיודות הקליטה שנבחרו TSL260יתקבל . חוסר הכיווניות הדרוש מעלות ולכן60בדומה למשדרים על ידי סידור הדיודות במעגל. מפתח הקליטה של הדיודות הוא כ-

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

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

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

.17איור שנקרו בפרק זה משורטט ב

k 1

k 1

k 5 7

k 1

k 1

c d V 5

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

Page 25: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

l o v g er t o b or Ik 5 1

k 1

v 0 1-

v 0 1+

D/A s'rellortnoc ot tuptuo

A 8 U

IT / 1 0 3 / 2 7 0 LT

+3

-2

+V8

-V4

T U O1

3 6 0 3 N 1 Dk 1

u 1 . 0

n 0 1

n 0 1k 5 1 3

tiucriC ssaP-dnaB

+1c+1c

-1c

+V

-V

-2c

+2c

1

ni_2R

tuo_2T

3

2

5

4

7

6

8

61

41

51

11

21

31

ccV

9

01

tuo_1T

DNG

ni_2T

tuo_1R

ni_1R

ni_1T

tuo_2R

PC232NIH

u 1

lo v g er t o b or I

u 1

u 1

u 1

u 1

v 0 1-

v 0 1+k 1

k 1

k 5 7

k 1

k 1

tiucric srosneS RI

c d V 5 k 1

מעגל הקליטה הסופי17איור

תוכנת השליטה 2.3ובכך להפוך את כל ופשוט למשתמש, אינטואיטיבי הינה לספק ממשק משתמש מטרת התוכנה

לבדיקתcommand lineתהליכי השליטה על הרובוט לשקופים. תהליך הפיתוח החל בכתיבת תוכנות ל- אופן התקשורת הנדרש עם הרובוט, והיכולות אליהן ניתן להגיע באמצעות התוכנה. בהמשך נבדקו

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

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

15ms.והכוללות את כל המידע האפשרי מהרובוט

מתוכנת השליטה דרישות 2.3.1 נדרשו לעמוד בדרישות הבאות:GUIהתוכנה וה-

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

מבנה כללי של התוכנה2.3.2 הינו סכימת הבלוקים המייצגת את התוכנה. בהמשך מתוארים כל בלוק ותפקידיו. 18איור

Page 26: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

סכימת בלוקים למבנה התוכנה18איור

Main threadהחלק המרכזי של התוכנית, תפקידו להחליט על הפעולה הבאה של הרובוט – ומבלוק הלוגיקה. Iroולשלוח אותה אליו. החלטה זו מסתמכת על נתונים המגיעים מה-

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

אשרIro_data_stream, External_sensor_stream אחראים לעדכן התהליכים Iroלמשל. את הקוראיםMain threadכפי ששמם מעיד אחראים לתקשורת עם הרובוט. בלוק הלוגיקה וה-

על מנת לקבוע את הצעד הבא. Iroמידע מה- Logic block -בלוק לוגיקה, מבקש מידע מה – Iro -ושולח ל Main threadהצעה לפקודה עבור

על מנתLogic_worker (Background worker )הרובוט. בלוק הלוגיקה ממומש כתהליך הרקע . בבלוק ניתן לממש שני מקורות ללוגיקה: מקורGUIלא להפריע לתהליך הראשי ולתגובתיות ה

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

ב-scriptsהינו המשתמש, אשר דרך לשונית ה- GUIיכול לרשום קוד המשפיע על תגובת להלן(2.4הרובוט לסביבתו. בפרויקט זה מומשה לוגיקה אחת בקוד התוכנה )ראה סעיף

ואפשרות למימוש אלגוריתם אחד מהמשתמש.איתה אשר הקוד שפת הניתן, ככל בתוכנה השימוש והפשטת המשתמש נוחות מטעמי

Forward 30המשתמש מקודד את האלגוריתמים שלו הינה שפה אינטואיטיבית )לדוגמא – ס"מ(.30לצורך התקדמות קדימה ב-

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

יאזין לתקשורת הנכנסת, אפשרותMain threadהחלקה של התוכנית. נבדקה אפשרות שה- זו מקורה בהרצה הטורית של שורות הקוד ב-GUIאשר הובילה להקפאת ה- Main. תופעה

thread-וכך, כל עוד לא הסתיימה קליטת הנתונים לא ניתן היה לעדכן את ה ,GUIבנתונים המעודכנים ולא ניתן היה לשלוח לרובוט פקודות.

Page 27: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

Comm port( הרובוט מן מידע לקבל ניתן דרכו התקשורת, פורט – Iro_data_stream, External_sensor_stream ( ולשלוח לו פקודות ) Main threadניתן להגדיר את מספר הפורט .) . להלן(2.3.3 ולפני הפעלת התוכנית )ראה סעיף Generalמתוך התוכנה, בלשונית

Page 28: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

לשוניות המידע מהרובוט מערכת האתחול והאיפוס

והפעלת התוכנהGUI מבנה ה2.3.3 בנוי ממספר לשוניות, לכל אחת תפקיד משלה. להלן תצלומי מסך של כל לשונית, הסבר עלGUIה-

.GUIהמרכיבים בה ואופן השימוש באותו חלק של ה

general dataלשונית

1

23

4

Roi, 29/11/10,
לחדש/ לארגן מחדש את הסקרינשוטים
Page 29: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

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

החלק הראשון, כשמו כן הוא – אתחול הרובוט בעת הפעלתו ואיפוסו בעת תקלה.

אתחול הרובוט:

( בחירה בפורטportהנכון עבור כל ערוץ תקשורת. בכל מחשב יוגדרו פורטים ספציפיים ) אשר ניתן יהיה להשתמש בהם. לאחר הבחירה בפורט המבוקש יש ללחוץ על הכפתורים "

Start robot serial port" -ו "start sensor serial port.בהתאמה " " כעת יש ללחוץ על הכפתורstart robot" ולאחריו על הכפתור " start streamאשר מתחיל "

את התקשורת הרציפה בין הרובוט למחשב.בשלב זה, הרובוט פועל ומתחיל לשלוח חיווי על מצב המדידים שלו אל המחשב.

" מטרתם להכניס את הרובוט לשני מצבי פעולה –full mode " ו- " safe modeשני הכפתורים " בטוח, בו הרובוט אינו מבצע משימה במידה היא מסכנת אותו )לדוגמא בהתקרבו אל מדרגה הוא ייעצר( ומצב שליטה מלא, בו הרובוט יבצע את כל הפקודות כלשונן, גם אם הפעולה

עשויה להסב לו נזק.

איפוס הרובוט:

במידה והתקשורת נופלת, או קופאת, או לחלופין הרובוט היה במצב בטוח וקפא, ניתן ללחוץ על" על מנת להחזירו למצב תפקודי.safe modeכפתור ה- "

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

” מציגות סכום של כל נתוני המרחקTotal Angle” ו “Total Distanceמהרובוט בכל חבילת מידע. תוויות “והזוית בהתאמה שהגיעו מהפעלת התוכנית הנוכחית.

(:1-4פירוט לשוניות המידע מהרובוט )לשוניות

לשוניות אלו מציגות את המידע שמגיע מהרובוט, ומעודכנות כאשר התוכנה מזהה מידע חדש ותקין.

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

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

ועוד(. מציגה מידע נוסף, שלא נכלל בלשוניות הקודמות )כגון מצב הדלקת נורות הרובוט,3לשונית

שינוי בקצב התקשורת, נעימה מתנגנת ועוד(. כגון 4לשונית( וכוללת מידע בהתאם מיועדת לפתרון בעיות, checksumבין , הזמן העובר

כוללת את המידע4ההגעה של שתי חבילות מידע, אחוז השגיאות ועוד(. כמו כן, לשונית

Page 30: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

. בהמשך מידע זה יעבור5vהמגיע מהבקר, ומציגה את המתח הנדגם בכל רגל מנורמל ל- .1ללשונית

Page 31: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

scripts pageלשונית

לשונית קבלת קוד מהמשתמש19איור

לשונית זו מאפשרת למשתמש לטעון סקריפטים חיצוניים.

למימוש הפונקציונליות הזו עמדו מספר אפשרויות, והשתיים העיקריות שבהן:

# שיידע לקמפל את הקוד ולהריצו תוך כדי זמן ריצה של התוכנהCמימוש קומפיילר .1מימוש מערכת של תנאים, המופעלים בעת זיהוי מלים שמורות..2

האופציה הראשונה עדיפה מבחינת גמישות המערכת ויכולתה לקבל אלגוריתמים מורכבים, אולם היא# ומעמיסה על משאבי המערכת. Cמסובכת יותר למימוש, דורשת ממשתמש הקצה לדעת תכנות

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

מסורבל.

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

run theלצורך הפעלת הסקריפט, יש צורך לרשום אותו בחלונית המתאימה, וללחוץ על הכפתור "script" על מנת לעצור את ריצת הסקריפט, יש ללחוץ על הכפתור ." stop the script."

רשימת המלים השמורות, ואופן השימוש בהן נמצאת בנספח.

Page 32: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

1

3

2

manual controlלשונית

לשונית שליטה ידנית20איור

בלשונית זו ניתן לקבוע התנהגות בסיסית של הרובוט, ללא אינטרקציה עם העולם.

"turn left " נוסע קדימה, " drive forward – כל כפתור מתאים לפעולה אותה הוא מתאר – "1בחלק מסתובב שמאלה וכן הלאה. הפעולות מתבצעות עד אשר מפסיקים את רובוט או עד אשר מתקבלת

פקודה אחרת.

ניתן לשלוט על המרחק שהרובוט יסע ועל זוית הסיבוב. עבור נסיעה יש להכניס לחלונית2בחלק " (. עבור סיבוב יש להכניס לחלונית המתאימה ) לידdriveהמתאימה את המרחק בס"מ )ליד כפתור "

"turn" .מספר במעלות )" stop robot.מפסיק את פעולת הרובוט "

( אשר מיתרגמת ברובוט לפקודה )לדוגמא – אם רוציםHex )16 ניתן לשלוח מחרוזת בבסיס 3בחלק יש לרשם מחרוזת לפי תקני ה- ינגן סדרה של תווים(. לצורך כך נותן אתOIשהרובוט זה . חלק

הגמישות המקסימלית במשלוח פקודות לרובוט )במחיר נוחות ומהירות( מכיוון שניתן לשלוח כאן את כל הפקודות האפשריות של הרובוט כולל כאלו שלא נתמכים בתוכנה כגון שליטה בשירים, שליטה

באופן שליחת המידע מהרובוט וכ"ו.

Page 33: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

– מימוש הרכב הראשון של ברייטנברג2.4

תקציר הרכב הראשון2.4.1

דרך המימוש2.4.2וידאו ליוטיוב?

Page 34: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

תוצאות ומסקנות.3

תוצאותהפלטפורמה שנבנתה מתאימה למגוון רחב של פעילויות ומטרות, ניתן להתאים את התוכנה

במהירות לצרכים משתנים כגון החלפת החיישנים לסוג אחר של חיישנים, שינוי מספר ערוציהדגימה ועוד.

למשתמש הקצה שליטה אלחוטית מלאה ונוחה על פעילות הרובוט באמצעות הGUI. כרגע נתמכות הפקודותIF, Connect, Greater, Lesserבפסאודו-קוד בלשונית הסקריפט. ניתן

להרחיב את מגוון הפקודות הנתמכות בהתאם לצורך. ( הוספו לתוכנה יכולות דיבוג – חישוב בית שגיאהChecksumהצגת אחוז החבילות התקינות ,)

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

התאמת החלק בתוכנה המקבל ומציג את ערכי החיישנים של הרובוט.בתור הצגת יכולות מימשנו את הרכב הראשון של ברייטנברג באמצעות אלגוריתם שהתקבל

ממשתמש הקצה.מרחק קליטת הIR.המירבי שהתקבל הינו כמטר וחצי

נושאים לשיפור התקשורת האלחוטית באמצעותBAMאינה יציבה – אחוז החבילות התקינות שמתקבלות

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

בספקים חזקים.למרות המימוש לקבלת חוסר כיווניות בחיישנים לא ניתן להבטיח כי החיישנים יקלטו באופן

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

רגישות הBAMלרמת המתח מהסוללה מחייבת הטענה של הסוללה לקראת כל מפגש עם סטודנטים.

הצעות להמשך-בחינה מחודשת לגבי השימוש במודול הBAMבחינה מחודשת של אופן מימוש החיישנים והמשדרים עבור מימוש רכבי ברייטנברג )לדוגמא

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

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

באנקודרים שונים, בדיקה ותיקון שגיאות קריאה של החיישנים השונים.

Page 35: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

בבליוגרפיה . מנחה – כוחיי, ק.2003אלסברג, ש., סולומון, א. פרויקט קודם - " רובוט הוקי ".

". אביב תשס"ט.iRobotCreate לשליטה ברובוט מסוג Matlabאסדו, א. פרויקט קודם " בניית ממשק במנחה – נחמני, א.

Braitenberg, V. “Vehicles- Experiments in Synthetic Psychology” (1986). MIT Press, paperback edition

Horowitz, P., Hill, W. “art of electronics”, 2ed. (1980). Cambridge university press

Internet resources:iRobot consumer site - http://homesupport.irobot.com/app/home

MSDN C# developers site - http://msdn.microsoft.com/en-us/vcsharp/default.aspx

Programming forums - http://www.dreamincode.net/

http://www.csharpkey.com/csharp/

Page 36: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

נספח א' - הרכבים של ברייטנברג בטבלה המצורפת מתוארים חמשת הרכבי הראשונים מבחינת המבנה שלהם, התנהגותם, חומרה

ותוכנה הדרושים על מנת לממשם:

הרכבים של ברייטנברג - חמישה רכבים ראשונים3טבלה

רכב ראשון

"התנהגות" כלפי חוץ"מעדיף" הוא כאשר בחדר באקראי יסתובב הרובוט יותר לאט או אפילו עוצר( מקומות בהם יש לו )נוסע

פחות "גירוי" )החיישן מפיק אות יותר חלש(

אלגוריתםשל הקליטה לעוצמת לינארי ביחס נסיעה מהירות

החיישן

ציוד דרושחיישן אחד

יכולות תוכנהלמהירות כפקודה ושליחתו מחיישן מספר משיכת

סיבוב של גלגלי הרובוט

רכב שני"התנהגות" כלפי חוץ

a.הרובוט יעמוד ללא תנועה וכאשר מתקרבים אליו עם מקור שקולט החיישן הרובוט "יברח" למקום ללא "גירוי"

פחד-<b.הרובוט יעמוד ללא תנועה וכאשר מתקרבים אליו עם

במהירות לכיוונו יסע הרובוט החיישן שקולט מקור אגרסיביגוברת ויתנגש בו -<

c.מימוש של רובוט ראשון בשני גלגלים ושני חיישנים

אלגוריתםהחיישן הקליטה של לעוצמת לינארי ביחס נסיעה מהירות

כאשר יש שני חיישנים ושני גלגליםa.חיבור גלגל ימני לחיישן ימני ואותו דבר לשמאליb.חיבור בהצלבהc.ושליחת החיישנים כניסות שתי של חיבור או מיצוע

התוצאה לשני הגלגלים ביחד

ציוד דרוששני חיישנים זהים

יכולות תוכנהלמהירות כפקודה ושליחתו מחיישן מספר משיכת

סיבוב של גלגלי הרובוטc 1 הוא בעצם רכב...

Page 37: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

רכב שלישי"התנהגות" כלפי חוץ

a.הרובוט נוסע ישר ובמהירות מקסימלית בחדר וכאשר החיישנים קולטים מקור כלשהו הרובוט יתקרב למקור

אהבהתוך כדי האטה עד שיעצור כשפנייו למקור -<b. אותו דבר כמוaרק שרובוט זה יסתובב עם הגב למקור

וימשיך לחפש מקור אחראוהב את המקור אבל תמיד מחפש אחרים-<

אלגוריתםלינארי ביחס נסיעה שלהפוך מהירות הקליטה לעוצמת

מינימלי מחיישן אות כאשר מקסימלית )מהירות החיישן ולהפך( כאשר יש שני חיישנים ושני גלגלים

a.חיבור גלגל ימני לחיישן ימני ואותו דבר לשמאליb.חיבור בהצלבה

ציוד דרוששני חיישנים זהים

יכולות תוכנהלמהירות כפקודה ושליחתו מחיישן מספר משיכת

סיבוב של גלגלי הרובוטשמירת נתון על מהירות גלגלים מקסימלית

רכב רביעי"התנהגות" כלפי חוץ

- הרובוט מתנהג בצורה שונה לסוגי2,3שילוב של רובוטים מקורות שונים לפי "ההתנהגויות" שראינו ברובוטים הקודמים

אלגוריתםחיבור זוגות חיישנים שונים בצורות שונות אשר ראינו קודם.

ציוד דרוש כמה זוגות חיישנים מסוגים שונים

יכולות תוכנהלמהירות כפקודה ושליחתו מחיישן מספר משיכת

סיבוב של גלגלי הרובוטשמירת נתון על מהירות גלגלים מקסימליתיכולת חיבור מספר מקורות לפקודה אחת לגלגל

Page 38: ספר פרויקט – התנהגות רובוטיתwebee.technion.ac.il/labs/control/info/Projects/Students/... · Web viewתחילה נבחנה האפשרות להשתמש ב-command

רכב חמישי"התנהגות" כלפי חוץ

יש לרובוט תגובה מורכבת לחיישנים כאשר לכל סוג הוא מתנהג שונה

אלגוריתםכמו לגלגלים החיישנים בין שונים מסוגים חיבורים

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

ציוד דרושכמה זוגות חיישנים מסוגים שונים

יכולות תוכנהלמהירות כפקודה ושליחתו מחיישן מספר משיכת

סיבוב של גלגלי הרובוטשמירת נתון על מהירות גלגלים מקסימליתיכולת חיבור מספר מקורות לפקודה אחת לגלגלמהחיישן אות עוצמת בין מורכבת לתלות יכולת

(LUTלמהירות הגלגלים )לדוגמא

דוגמא לפונקציות משקל שונות: