נהג רובוטי ומסוק זעיר יכולים לבצע פעלולים מסוכנים אחרי ש"למדו" את התוכנה: האם בעתיד יוכלו למנוע מצבים מסוכנים?
ישראל בנימיני | גליליאו
בסחרור של 180 מעלות ונעצרת בדיוק בין שתי מכוניות חונות. זהו פעלול מסוכן, שבדרך כלל אפשר לראות רק בסרטי פעולה או במופעי נהיגה, אבל זהו גם האתגר שלקחה על עצמה "קבוצת המירוצים של סטנפורד". בניגוד למה ששמה מרמז, זוהי אינה קבוצה של נהגי מירוצים אלא של מדעני מחשב, העוסקת בפיתוח מכוניות רובוטיות – מכונות היכולות לנהוג בעצמן.
במאי 2010 הציגה הקבוצה את תוצאות המחקר האחרון שלה, בכנס הבין-לאומי לרובוטיקה ואוטומציה שהתקיים באנקורג' שבאלסקה. הם לימדו את הרכב הרובוטי שלהם, ג'וניור, לבצע את פעלול החניה-בהחלקה, כמו שאפשר לראות בסרטון וידאו שפרסמו.
מדוע כדאי ללמד רכב רובוטי לבצע פעלולים מסוכנים? האם כדי להקל על הפקת סרטי פעולה? או אולי כדי שכל אחד מאיתנו יוכל לתפוס את מקום החנייה הנדיר שנגלה לפניו, לפני שרכב אחר יחליק לאותו מקום? כמו שנראה בהמשך, קיימות סיבות טובות יותר.
ג'וניור, רובוט עם עבר מפואר
התלמיד שהתייצב ללימודי הפעלולים, ג'וניור, מציג קורות חיים מרשימות בעבור גילו הצעיר. בנתה אותו קבוצת המירוצים של סטנפורד, הכוללת חברים במחלקות הבינה המלאכותית וההנדסה של אוניברסיטת סטנפורד שבקליפורניה, כמו גם חוקרים ומהנדסים מחברות רכב (טויוטה, פולקסווגן) וטכנולוגיה (בוש, אינטל). סטנלי, אחיו הבכור של ג'וניור, ניצח בתחרות "האתגר הגדול" בשנת 2005 והביא למפתחיו פרס של שני מיליון דולר.
תחרות זו נוסדה על-ידי DARPA, רשות פרויקטי המחקר המתקדמים של משרד ההגנה האמריקני, כדי לקדם את הטכנולוגיה על-ידי הצבת אתגר טכנולוגי ששכר בצדו. סטנלי, שהחל את חייו כמכונית פולקסווגן טוארג, צלח מסלול מדברי קשה של יותר ממאתיים ק"מ בפחות משבע שעות, עשר דקות פחות מהרכב שפיתחה קבוצה מאוניברסיטת קרנגי-מלון. כיום מוצג סטנלי במוזאון הסמיתסוניאן להיסטוריה אמריקנית בוושינגטון.
תחרות האתגר הגדול של 2007 העלתה את רמת הקושי, ודרשה מהמתחרים לסיים בהצלחה מסלול עירוני של כ-100 ק"מ תוך כדי השתלבות בתנועה וציות לחוקים ולתמרורים. הפעם נקמה קבוצת קרנגי-מלון כאשר "בוס", המכונית הרובוטית שלה, סיימה בהצלחה את המסלול בארבע שעות ועשר דקות. ג'וניור, הרובוט שבנתה קבוצת סטנפורד על בסיס מכונית פולקסווגן פאסאט, הגיע עשרים דקות לאחר מכן וזכה בפרס השני – מיליון דולר.
לולאות סגורות
במאמר הטכני שהוצג בכנס מסבירים חברי קבוצת המירוץ את השיטה שבה נקטו כדי ללמד את ג'וניור לבצע את הפעלול. מערכות בקרה, כמו זו המשמשת לנהיגת רכב רובוטי, נעזרות בדרך כלל במודל מתמטי של המערכת שבה אנו רוצים לשלוט – במקרה זה, המכונית. המודל כולל ייצוג מתמטי של התנהגות הרכב במצבים שונים ובתגובה לפעולות שליטה שונות.
כך, למשל, אם נזין למודל מידע כי הרכב נע בהילוך רביעי, במהירות 60 קמ"ש ובקו ישר על מסלול מישורי (ייצוג המצב), וההגה מוטה בזווית של 7 מעלות שמאלה תוך כדי לחיצה של 10% על הבלמים (ייצוג פעולות השליטה), ינבא המודל את התנהגות הרכב מאית שנייה לאחר מכן: עד כמה תקטן מהירותו של הרכב, לאיזה כיוון יהיה מופנה, מה תהיה מהירות הסיבוב שלו (קצב שינוי הזווית) וכו'.
מערכות תוכנה אחרות ברכב הרובוטיאחראיות לתכנון המסלול הנדרש ולהחלטה באיזו מהירות יש לנוע בכל נקודה במסלול. תפקידה של מערכת השליטה הוא להפעיל את הרכב כך שינוע בהתאם לתכנון. בעזרת המודל המתמטי אפשר למצוא את פעולות השליטה הנדרשות כדי להגיע מהמצב הנוכחי למצב הנדרש בעוד מאית שנייה (או תקופת זמן קצרה אחרת), ולהמשיך כך עד לביצוע מוצלח של התוכנית.
למעשה, המודל אינו יכול להיות מדויק לחלוטין. תמיד יהיו טעויות קטנות במודל עצמו או בביצוע פעולות השליטה (למשל, הזזת ההגה ב-7.03 מעלות במקום ב-7 מעלות), שינויים קלים בתנאי הדרך (שקע קטן, למשל) וכו', הגורמים לכך שבסוף מאית השנייה הבאה הרכב יסטה במקצת מהתוכנית.
סטיות כאלה, בלתי מורגשות ככל שיהיו, יצטברו במהלך השניות הבאות ויביאו את הרכב בסופו של דבר למקום ולמצב שונים לחלוטין ממה שתוכנן. כדי למנוע הצטברות שגיאות, הרכב מצויד גם בחיישנים המודדים בכל רגע את מיקום הרכב ואת מצבו. תוכנת השליטה משווה את המידע המגיע מהחיישנים למידע שצפה המודל ומשתמשת במידע כדי להתאים את פעולות הנהיגה למצב האמיתי.
זהו תהליך שליטה המבוסס על לולאה סגורה: המערכת לא רק צופה את התנהגות הרכב ומתכננת את פעולותיה בהתאם, אלא גם מתקנת את התכנון לפי משוב המתקבל מהחיישנים ומאפשר לה למדוד יותר במדויק את תוצאות פעולותיה. תהליך זה אינו פשוט, וצריך בין השאר להביא בחשבון שהחיישנים עצמם אינם מושלמים, כך שצפויות טעויות קטנות ("רעש") במידע שהם מספקים. עם זאת, כפי שהוכיחו הרובוטים שהשתתפו בתחרות האתגר הגדול, בשיטה זו אפשר להגיע לתוצאות מרשימות.
לולאות פתוחות
אחת הבעיות בשיטת הלולאה הסגורה היא הצורך במודל בעל אמינות גבוהה, אפילו אם אינו יכול להיות בעל דיוק מושלם. לעתים קרובות המודל נוצר על-ידי למידה מתוך הקלטות של המערכת בפעולה. כך גם פעלה קבוצת המירוץ: הם הקליטו כמה דקות של נהיגה אנושית ברכב, שבהן נמדדו מיקום ומצב הרכב כמו גם פעולות הנהג בכל רגע, וחישבו מהקלטה זו את המודל. מודלים כאלה פועלים היטב כאשר הרכב נמצא במצבים דומים למצבים שהוקלטו תוך כדי הנהיגה האנושית, וכאשר קצב השינוי נמוך – בלי בלימה חריפה, סיבוב חד של ההגה וכו'.
כאשר השינויים במצב הרכב ובפעולות הנהג הם מהירים, המודל מאבד את אמינותו. סיבה אחת לכך היא הגידול בטעויות, אך יש גם סיבה עמוקה יותר: נניח שמודל שנלמד מתוך הקלטה של תנועה ב-40 קמ"ש ובסיבוב של 20 מעלות לשנייה יכול לנבא בדיוק גבוה את התגובה לתנועה במהירות של 50 קמ"ש ובסיבוב של 30 מעלות לשנייה. בכל זאת, מודל שנלמד מתוך הקלטה של תנועה ב-40 קמ"ש ובסיבוב-החלקה של 180 מעלות לשנייה לא יוכל לנבא את התנהגות הרכב באותה מהירות ובשינוי קל של קצב הסיבוב – נניח, 170 מעלות לשנייה.
אף שהשינוי במקרה השני קטן יותר (אותה מהירות, שינוי של כ-5% בקצב הסיבוב במקרה השני, מול שינוי של 25% במהירות ובקצב הסיבוב במקרה הראשון), במקרה השני הרכב נמצא במצב הרגיש מאוד לכל שינוי בשליטה, ולכן המודל אינו מאפשר חישוב של התגובה לשינויים כאלה.
אם כך, במצבים קיצוניים כאלה בקרה בשיטת הלולאה הסגורה אינה מתאימה, מכיוון שאי אפשר להזין את המשוב מהחיישנים לתוך המודל כדי לחשב את התיקון הנדרש בכל רגע. כדי למצוא שיטת בקרה טובה יותר ניצלו המפתחים ממצא אחר שעלה ממחקריהם: אף שהתנהגות הרכב קשה לניבוי מראש במצבים קיצוניים, היא חוזרת על עצמה: אם הנהג יפעל בדיוק באותה צורה (אותה מהירות, אותו סיבוב חד של ההגה, אותה עוצמת בלימה) כפי שפעל בזמן ההקלטה, הרכב ינוע במסלול דומה מאוד למסלול הקודם.
ממצא זה מוביל לשליטה בשיטת לולאה פתוחה: הגעה למצב הזהה למצב שהוקלט וחזרה מדויקת על פעולות השליטה שהוקלטו. כדי להפעיל שיטה זו הקליטו המפתחים את פעולותיו של נהג שינעל את הגלגלים תוך כדי נסיעה לאחור ויבצע סחרור של 180 מעלות. מעניין להדגיש כי הנהג האנושי לא נדרש לבצע את פעלול החניה, ולכן לא כיוון את הפעולה כך שתסתיים בדיוק במקום מסוים שנקבע מראש. התוכנה ביצעה את הפעלול על-ידי חישוב הכיוון והמקום שיש להגיע אליהם, במהירות הנכונה, כך שחזרה על פעולותיו המוקלטות של הנהג תביא לעצירה במקום החנייה המבוקש.
שילוב הפתוח והסגור
כפי שאפשר לראות בסרטון בקישור המצורף, בקרה בשיטת הלולאה הפתוחה מצליחה להגיע למצב הנדרש (סיבוב 180 מעלות) אך לא למקום הנדרש. הסיבה לכך היא שבקרת הלולאה הפתוחה צוברת טעויות במהלך הנסיעה, בגלל היעדר של תיקון התכנון לפי משוב מהחיישנים. כדי להשיג ביצוע מושלם של הפעלול, בחרו המפתחים לשלב את שתי השיטות: המכונית מגיעה למקום התחלת הסחרור תחת בקרת לולאה סגורה, המתאימה למצב היציב של נהיגה "פשוטה", ועוברת לבקרת לולאה פתוחה כאשר הרכב עוזב את התחום היציב ונכנס לנעילת גלגלים ולסחרור. כפי שמתואר במאמר הטכני, השילוב של שתי השיטות משתמש בהערכת הדיוק של כל אחת מהן במצב הנוכחי: דיוקה של הלולאה הסגורה עולה ככל שהמצב הנוכחי רגיש פחות לשינויים קטנים בשליטה, ודיוקה של הלולאה הפתוחה עולה ככל שהמצב הנוכחי קרוב למצב שהוקלט.
פרויקט זה אינו היחיד המתעניין בפעלולים רובוטיים. צוות מחקר אחר באוניברסיטת סטנפורד הדגים בשנת 2008 תוכנה המבצעת פעלולים הנראים כבלתי אפשריים בהטסת מסוק ללא טייס. גם כאן, הם מצאו כי יש ללמוד כיצד מפעיל אנושי מבצע את הפעלולים, אך התוכנה הצליחה ללמוד מכמה הדגמות את התבנית האידאלית, וכך הצליחה לבצע את הפעלולים בדיוק רב יותר מן המדגים האנושי המקורי.
מפתחי המסוק הרובוטי הסבירו כי קיים צורך אמיתי בתוכנה כזו כדי להבטיח כי הטסה אוטומטית תהיה בטוחה בכל מצב, גם כאשר הטיסה נקלעת לתנאים קשים. הצורך בווירטואוזיות כזו הומחש בינואר 2009, כאשר הטייס צ'סלי סולנברגר נאלץ להנחית מטוס נוסעים בנהר ההדסון לאחר שפגיעה בלהקת אווזים השביתה את מנועי המטוס. בדומה לכך, חברי קבוצת המירוצים של סטנפורד מסבירים כי פיתחו את היכולת לנהיגת פעלולים כדי ליצור רכב רובוטי המסוגל לפעול נכון גם במצבים מסוכנים. אם גם ילמדו את הרובוט לפעול כך שיימנע ככל האפשר מלהגיע למצבים כאלה, ייתכן שבעתיד נוכל להשאיר את ההגה בידיים בטוחות הרבה יותר מאשר ידיים אנושיות.
ישראל בנימיני עובד בחברת ClickSoftware בפיתוח שיטות אופטימיזציה מתקדמות.
הכתבה המלאה התפרסמה במגזין גליליאו, אוגוסט 2010
5 Responses
הרעיון של לולאות היזון חוזר הוא מעניין.
יש לציין שקיים הבדל בין הפעלת הבלמים ("נעילת" גלגלים קדמיים / אחוריים) שאכן – בהנתן מצבי הגה ודוושת תאוצה קבועים – מכניסה את הרכב למסלול דטרמיניסטי, לבין דוושת התאוצה ומצב ההגה (למעט נעילה במצב קבוע).
נהג אנושי מאומן מסוגל לבצע תיקונים זעירים בשני פרמטרים אלה גם במהלך התמרון.
חזק!!!
http://www.youtube.com/watch?v=RY93kr8PaC4&feature=related
זה פעלול החנייה
הנה לינק(מחיפוש של כמה שניות ביו-טיוב):
http://www.youtube.com/watch?v=0JL04JJjocc
באמת מרשים מאוד!
הנה סרטון של ג'וניור
http://www.youtube.com/watch?v=BSS0MZvoltw
יש שם קישורים לעוד של DARPA
והיכן הקישור לעזאזל?!