Tip:
Highlight text to annotate it
X
אז עכשיו כשיש לנו מודל, אנחנו צריכים דרך כלשהי
לדעת היכן נמצא הרובוט,
כי מצבו של הרובוט, הוא "אקס", "וואי ו"פאי"
כלומר מיקומו הוא אקס, וואי והוא בכיוון פאי.
אודומטריה היא האמצעי בעזרתו נוכל להשיג מידע זה לגבי המיקום.
השאלה היא כיצד אנו מחשבים למעשה את המצב או את המיקום של הרובוט?
טוב, יש מגוון דרכים שונות לעשות זאת, אבל בסופו של דבר
אנחנו ללא ספק זקוקים לחיישנים. למעשה יש כאן שתי אפשרויות.
אחת היא שאנחנו יכולים להשתמש בסוג כלשהו של חיישנים חיצוניים.
אז חיישן חיצוני יהיה חיישן שמודד משהו בסביבה.
אז לדוגמה, אם תדמיינו שאתם יכולים לראות נקודת ציון,
בואו נאמר שאני יכול לראות את מגדל אייפל
ועכשיו אני מתחיל לנוע בסביבה,
אם אמשיך לעקוב אחר מגדל אייפל, אני אמור להיות מסוגל
לדעת לפחות היכן אני נמצא יחסית למגדל אייפל.
זה נראה הגיוני . אז החיישנים החיצוניים
אולטרה סאונד, אינפרה-אדום, מצלמות, סורקי לייזר,
אלו הם חיישנים שמספרים לנו משהו חיצוני בנוגע למיקום שלנו.
יש סוג נוסף של חיישן חיצוני שניתן להשתמש בו, כמובן, שהוא ג'י-פי-אס,
והוא חיצוני משום שאנחנו לא מודדים כאן מדידה פנימית,
אלא אנחנו מקבלים מידע מבחוץ
והג'י-פי-אס נותן לנו באופן מיידי נתונים כגון מיקום וכולי.
אולם, כשמפעילים רובוטים בתוך מבנה, כמובן שאין לנו אותות ג'י-פי-אס,
ובמקרים רבים ה-ג'י-פי-אס לבדו אינו מספיק כדי לחשב
את אקס, וואי ו-פאי ברמת מהימנות גבוהה.
לכן לרוב מצמדים את החיישנים החיצוניים עם חיישנים פנימיים.
אז החיישנים הפנימיים הם חיישנים שממוקמים בתוך הרובוט
והם עוזרים לנו לדעת היכן אנחנו נמצאים.
אז לדוגמה, ניתן להשתמש במצפן כדי להבין לאיזה כיוון הרובוט מתקדם
כך נקבל את האוריינטציה. כמובן שבכל רובוט שמכבד את עצמו ישנם חיישני תאוצה וג'ירוסקופ
לצורך מציאת איזה מרחק עברת וכולי.
אם כך ניתן לגזור את המיקום והאוריינטציה ממדי תאוצה וג'ירוסקופים במידה מסוימת.
דרך שימושית נוספת היא מקודדי גלגל. לרוב ישנם מוני "טיקים."
ניתן לספור "טיקים" ולמעשה כמה סיבובים הגלגל מבצע בפרק זמן מסוים,
ומכך ניתן להסיק מידע בנוגע למיקומו של הרובוט.
ברצוני לדבר איתכם מעט על מקודדי הגלגל,
והסיבה לכך היא שאם אנחנו אכן עובדים כעת עם רובוטים בעלי הנעה דיפרנציאלית לזמן מה,
בואו נראה אם אנחנו יכולים לברר מעט יותר כיצד אנחנו יכולים להשיג
מידע לגבי מיקום, וחשוב מכך, כמה אנחנו יכולים לסמוך עליו.
אז מקודד הגלגל מספק את המרחק שעבר כל גלגל.
אז יש לנו כאן גלגל ימני ושמאלי, והנה ההנחה הבאה שאנו עומדים להניח:
אנחנו נניח שכל גלגל עוקב אחר קשת, כלומר הוא מסתובב בקצב קבוע ונע במהירות קבועה.
אז וי ואומגה אר הם קבועים.
משמעות הדבר היא כי בפרקי זמן קצרים זה נכון,
ואם נעשה את זה, טוב, הבה נאמר שדי אל הוא המרחק שהגלגל השמאלי עבר
ודי אר הוא המרחק שהגלגל הימני עבר.
במקרה הזה, הגלגל הימני מסתובב מהר יותר מהגלגל השמאלי
בגלל שהוא הסתובב יותר.
אני מתעניין ב-אקס, וואי ו-פאי,
שאינם מציינים את מיקום הגלגלים אלא את מיקום מרכז הרובוט. בזה אני מתעניין.
אז די סי הוא המרחק שמרכז הרובוט הסתובב ובזה אני מתעניין,
עכשיו, למרבה המזל המרכז הוא פשוט די אל פלוס די אר חלקי 2.
אני לא מתכוון להיכנס לפרטי הגיאומטריה שמאחורי חישוב זה.
במקום זאת ניתן למצוא בקלות מידע זה
אם תרצו לחפש למשל מידע על פעולת מקודדי גלגל
אבל אני רוצה לחבר מעט את מודל הרובוט הנייד למקודדי הגלגל,
רק כדי לראות כיצד אנו חושבים על נושאים אלו.
ולמעשה, אם אנחנו מודדים איזה מרחק עברו הגלגלים בפרק זמן מסוים,
בואו נאמר שהתחלנו באקס, ואחרי אינטרוואל הזמן,
טוב, אנחנו יודעים את הערך של די סי בגלל שדי סי הוא הדבר הזה,
אז אנחנו יכולים למעשה לחשב את אקס פריים החדש.
אז את ערך האקס החדש של מיקום הרובוט.
אנחנו יכולים באופן דומה לחשב את ערך הוואי החדש של מיקום הרובוט,
שזהה לחישוב ערך האקס החדש רק עם סינוס במקום קוסינוס.
ואנחנו יכולים אפילו לחשב את האוריינטציה החדשה.
אז זאת דרך לדעת
כיצד לעבור ממידע לגבי המרחק שהגלגלים עברו
למה הוא מיקומו החדש של הרובוט ולמעשה נערוך לא מעט ניסויים
בהם המידע היחידי שיהיה זמין לרובוט הוא מיקומו בהתבסס על מקודדי הגלגל.
אבל איך אנחנו מחשבים את די אר ו- די אל?
זה מה שאנחנו צריכים לדעת כדי לגלות היכן נמצא הרובוט.
טוב, נניח שכל גלגל עובר אן "טיקים" בכל סיבוב.
אז 2 פאי מעלות הם אן טיקים.
מרבית מקודדי הגלגל למעשה מספקים את סך כל ספירת הטיקים מההתחלה.
אז מה שמודדים הוא את מספר הטיקים מאז הפעלת המערכת.
אז העדכון, אני רושם אותו עבור שני הגלגלים, זה עבור הגלגל הימני והגלגל השמאלי,
אז אתם יכולים לציין זאת באותיות קטנות, למשל דלתא טיק אר, אר אר או אל, אם תרצו.
אבל עבור שני הגלגלים הללו, לוקחים את סך כל ספירת הטיקים הישנה
ומפחיתים אותו מהסך הכול מחדש של ספירת הטיקים.
כך אוכל לדעת מה ספירת הטיקים במהלך פרק הזמן שבדיוק בדקנו.
ואז, בהתבסס על כך, ניתן לחשב די בקלות את המרחק שגלגל זה הסתובב.
אז זה די כאן. די זה יכול להיות די אל או די אר, שווה פשוט לנוסחה זו.
כך למעשה אנו מקבלים דרך
למפות "טיקים" במרחקים שהגלגלים נעים,
וכפי שראינו בשקופית הקודמת,
ניתן למפות בעזרת המרחק שהגלגל עבר את המיקום והאוריינטציה החדשים של הרובוט.
למען ההגינות, ישנו גילוי נאות אחד שעליי לבצע והוא...
סחף! מערכת שכזו נסחפת.
היא מאוד לא מדויקת. ואם אתם משתמשים רק במקודדי גלגלים כמקור האודומטריה שלכם,
כפי הנראה תיתקלו במעט בעיות. אז כאן אני רוצה להציג קטע וידיאו.
הוא לקוח מאחד הקורסים שלימדתי לאחרונה ובו מוצגים שני רובוטים המתחרים זה בזה.
נראה כאילו הם עוקבים אחר קווים,
אבל כל מה שהם עושים הוא מעקב אחר נקודות ביניים שהונחו,
והם משתמשים בבקר פי-איי-די כדי לעבור בין נקודות הביניים.
ניתן לראות שהם סוטים מעט מהנתיב,
והדבר המעניין הוא שרובוט אחד עולה על הרובוט השני,
וכתוצאה הגלגל שלו מסתובב מבלי שייגע למעשה בקרקע
וכפי שאתם יכולים לראות, כתוצאה מכך הרובוט כלל אינו יודע היכן הוא נמצא בעולם.
אז זאת דוגמה למקרה די קיצוני של סחף,
הרובוט נע הרחק מאוד ממסלולו כי מקודד הגלגל אינו תואם עוד למה שמתרחש על הקרקע
אז אנחנו נשתמש במקודדי גלגל לא מעט.
הם משמשים פעמים רבות ברובוטיקה, אבל אנחנו צריכים להיות מודעים תמיד לכך
שהם, לכשעצמם, מקודדי גלגל אינם מספרים את הסיפור המלא או סיפור מהימן במיוחד.