אתגר: ללמד רובוטים ללכת
אחת התכונות הבסיסיות שאנו מצפים לה ברובוטים היא תנועה. המשימה ללמד רובוטים ללכת פחות פשוטה מכפי שנדמה
"אתה הולך. ואתה לא תמיד מבין את זה,
אבל אתה כל הזמן נופל.
בכל צעד, אתה נופל קצת קדימה.
ואז תופס את עצמך כדי שלא תיפול.
שוב ושוב, אתה נופל.
ואז תופס את עצמך כדי לא ליפול.
וזוהי הדרך שבה אתה יכול ללכת וליפול באותו הזמן".
(לורי אנדרסון, "הליכה ונפילה", מתוך האלבום "Big Science", 1982, תרגום חופשי)
ליפול כדי ללכת
לורי אנדרסון, אמנית המולטימדיה, שהיתה בין השאר גם "אמנית הבית" (הראשונה והיחידה עד כה) של נאסא בשנים 2003-2004, מתארת במדויק בשיר "הליכה ונפילה" את הפיזיקה הדינמית של הליכה: תוך כדי הליכה איננו נמצאים בשיווי משקל.
אם נצלם אדם הולך ונבקש ממהנדס לחשב את מרכז הכובד של האדם הנראה בתמונה, החישוב יראה שהאדם עומד ליפול. הוא לא ייפול כי הוא לא יישאר באותה תנוחה קפואה שקלטה המצלמה, אלא יניע את רגליו וחלקים אחרים בגופו כדי להפוך את הנפילה לתנועה קדימה. הליכה כזו מקיימת "יציבות דינמית".
לעומת זאת, הליכה של רובוט-צעצוע היא יציבה: בכל רגע שנכבה את הרובוט, הוא יישאר בשיווי משקל.
זוהי "יציבות סטטית", שהיא הסיבה העיקרית לכך שהליכתם של רובוטים אלה נראית שונה כל-כך מהליכה אנושית.
איך הולכים בני אדם?
למה הולכים כך בני-האדם, וגם כלבים, סוסים וחיות רבות נוספות? (אמנם ברוב הזמן מרכז הכובד של חיה בעלת ארבע רגליים נמצא בין ארבע הרגליים, כך שתצלום ה"מקפיא" אותה ברגע מסוים ייראה כאילו המצב יציב; אבל אם נאמר למהנדס המנתח תצלום זה כי ברגע הצילום החיה נעה קדימה, הוא יכניס לחישוב את ההתמדה ויסיק שהחיה תאבד בכל זאת את שיווי משקלה אם לא "תתפוס את עצמה" – כפי שיכול להעיד כל אדם שראה גורי כלבים עושים את צעדיהם הראשונים).
יציבות דינמית מנצלת את כוח המשיכה כדי לנוע מהר יותר, תוך שימוש בפחות אנרגיה. היא גם מתאימה יותר לעולם האמיתי, שיש בו הפתעות, כמו שינוי פתאומי בזווית המשטח שעליו אנו דורכים, שינוי בטיב המשטח (גמיש או קשיח), מגע או חיכוך בעצם אחר ועוד. רובוט המסתמך על יציבות סטטית אינו יכול לתקן את יציבתו כאשר היא נפגעת בשל הפתעה כזו.
בכמה הדגמות של רובוטים מודרניים, החלק המרשים ביותר הוא כאשר אדם (או רובוט אחר) דוחף בחוזקה את הרובוט. הרובוט מגיב כמו אדם המופתע מדחיפה כזו: הוא מתחיל ליפול, ואז מזיז את גופו ורגליו כדי לייצב את
עצמו.
כאשר תינוקות לומדים ללכת, הם כנראה מודעים לכך שאנו נופלים קדימה כדי לנוע, אבל גם אם ידענו זאת פעם, איננו חושבים על כך בכל צעד. אפשר לשאול מה הקשר בין טור בינה מלאכותית לבין נושא שהבינה הטבעית שלנו כלל אינה עוסקת בו, אבל מוחנו עושה דברים רבים, חלקם אינטליגנטיים למדי, מבלי שמעשים אלו מגיעים לתודעתנו.
אם נקבל את ההגדרה כי בינה מלאכותית עוסקת בנושאים שבהם האדם טוב יותר ממכונה (הגדרת "המטרה הנעה" – ברגע שמכונה מגיעה ליכולת גבוהה בתחום מסוים, התעניינותם של מפתחי בינה מלאכותית בתחום זה פוחתת), אזי הליכה היא ודאי תחום חשוב למחקרים ולפיתוחים בבינה מלאכותית.
על רגל אחת
אחת התכונות הבסיסיות שאנו מצפים לה ברובוטים היא תנועה. ואכן, קיימים רובוטים בעלי מגוון רחב של יכולות תנועה: רובוטים הנוסעים על גלגלים או שרשרות, רובוטים דמויי-נחש המתאימים לתנועה דרך פתחים צרים (כמו בהצלת אנשים במצבי אסון), רובוטים שוחים ומתעופפים, ואפילו רובוטים הנעים על גלגיליות. ביניהם בולטים הרובוטים המהלכים, גם מפאת הדמיון החזותי להליכה של בני-אדם או חיות, וגם כי יש להם פוטנציאל לנוע במהירות וביעילות על מגוון רחב של משטחים.
אחד הסוגים הראשונים של רובוטים בעלי יציבות דינמית היה דווקא "מונופוד" (מלטינית: רגל אחת). לרובוט כזה יש רק רגל אחת, והוא משתמש בה כדי לשמור על יציבות: אם הוא עומד ליפול שמאלה, הוא יקפוץ שמאלה כדי לחזור למצב אנכי, כמו ילד המקפץ ב"מקל פּוֹגוֹ". רובוטים כאלה פותחו מתחילת שנות השמונים ב"מעבדת הרגליים", שבשנותיה הראשונות היתה חלק מאוניברסיטת קרנגי-מלון, אך החל מ-1986 נמצאת במכון הטכנולוגי של מסצ'וסטס (MIT leg lab).
הבחירה ברגל אחת נראית אולי מוזרה, אך יש בה היגיון: ראשית, אם רוצים להבין יציבות דינמית, יש יתרון במצב הפשוט ביותר: על רגל אחת, כאשר "כף הרגל" קטנה, אין אפשרות להגיע ליציבות סטטית. שנית, החישובים נעשים מסובכים יותר ככל שיש יותר רגליים שצריך לדאוג להן, ולכן בתחילת שנות השמונים רמת הידע, כמו גם הטכנולוגיה הזמינה, הקשו על טיפול ביותר מרגל אחת. גם אותה רגל היתה קשיחה, עם קפיץ ממונע אחד שהפעיל את הניתור.
כיום עדיין מפתחים רובוטים חד-רגליים, אך מציידים אותם ברגל בעלת מפרקים – לדוגמה, מוט קטן המתחבר לנקודת נגיעת הרגל בקרקע ומשמש כדי לחוש אם המשטח נטוי. מוט כזה מחקה את אחד התפקידים של כף הרגל בבני-אדם.
אותן שיטות שהפעילו רגל אחת שוכללו והוכללו כדי לשלוט בשתי רגליים או יותר. ניתור על שתי רגליים דומה לתנועה האנושית בזמן ריצה, ואכן פותחו באותה מעבדה רובוטים שיכלו לרוץ ואפילו לבצע גלגול ("סלטה") באוויר.
לך לפני שתרוץ
רובוטים אחרים תוכננו לפי העצה "כדאי ללמוד ללכת לפני שמתחילים לרוץ". רובוטים כמו "אסימו" של חברת הונדה (ASIMO) היו בין הראשונים שהפגינו הליכה, עלייה במדרגות וריצה. היסטוריית ההליכה של אסימו מדגימה את האתגר הטכנולוגי: בתחילה "הכיר" הרובוט רק כמה תבניות תנועה, והיה חייב לעצור לכמה שניות כדי להתכונן למעבר בין הליכה לבין סיבוב, ושוב לעצור כדי להתכונן למעבר להליכה.
בהמשך תוכנתו יותר תבניות תנועה ומַעבר חלק ביניהן, וכיום ההדגמות מרשימות יותר. לדוגמה, כאשר
הרובוט רץ במעגל, הוא מטה את גופו לכיוון מרכז המעגל. גם אנחנו עושים זאת, אף שאיננו מודעים לכך – הדבר מאפשר לנו לשמור על שיווי משקל.
אסימו שייך לקבוצה של רובוטים שהליכתם מתוכננת לפי גישת ZMP (קיצור של Zero Momentum Point – נקודת איפוס המומנט). בגישה זו, המחשב השולט בתנועותיו של הרובוט שואף לאיזון מדויק בין הכוחות הפועלים על הרובוט: משקלו, הכוחות הנדרשים לצורך שינוי מהירות וכיוון, וכוח התגובה שמפעילה הרצפה על רגליו של הרובוט.
אם כוחות אלה שווים בגודלם ומנוגדים בכיוונם ופועלים על אותה נקודה בגוף, הרי שבמונחים פיזיקליים גודל מומנט הכוח הוא אפס, יחסית לנקודה שבה נוגע הרובוט ברצפה. אלה חדשות טובות לרובוט: משמעותו של מומנט השונה מאפס היא קיום כוחות השואפים להטות אותו ולהרחיק אותו מעמידתו האנכית. בהליכתו של אסימו יש כמה מרכיבים של יציבות דינמית, אך למרות זאת יש להליכה שלו כמה חסרונות.
הליכה טבעית יותר
ראשית, היא הרבה פחות יעילה מהליכה אנושית, כתוצאה מוויתור על שימוש בהתמדה כדי לסייע לתנועה קדימה (במקום זאת, ZMP שואפת לאזן את ההתמדה מול כוחות נגדיים). שנית, היא בנויה על תכנון מראש של כל צעד, כך שקשה לה להגיב להפתעות. לכן אסימו יכול לנוע רק על משטחים ישרים וקשים. עבור רובוט שצריך לפעול בסביבה אנושית, יש עוד חסרון – ההליכה של אסימו אינה נראית אנושית. היא תוארה כהליכה של ילד ההולך בזהירות כדי לא להשמיע רעש, או כהליכה של פושע (אולי כתוצאה מאותו אילוץ), ואפילו כהליכה של אדם הנזקק בדחיפות לשירותים.
הליכה טבעית יותר, ואף יעילה יותר, אפשר לראות בין השאר ברובוטים בעלי דינמיקה פסיבית המפותחים באוניברסיטת מישיגן (קישור בסוף הטור). הפיתוח התחיל במכונה שכלל אינה רובוט, מכיוון שאין לה מנוע וגם לא מחשב השולט בתנועותיה. למכונה יש שתי "רגליים" וגם שתי "ידיים", שתפקידן הוא להתנדנד בזמן ההליכה וכך להסיט את מרכז הכובד.
כתוצאה מתכנון מדוקדק של משקלות ומידות כל מרכיבי המכונה, היא יכולה ללכת בלא כל בקרה אלקטרונית, כאשר היא מנצלת כמעט את כל האנרגיה של צעד אחד כדי להניע את הצעד הבא, ביעילות המשתווה ליעילות של הליכה אנושית (וגדולה פי 16 מיעילותו של אסימו). האיבוד הבלתי נמנע של חלק קטן מהאנרגיה מוחזר על-ידי כך שהמכונה "הולכת" במורד של שיפוע מתון. על בסיס הניסיון שנצבר בפיתוח מכונה זו, נבנו רובוטים ממונעים: המנוע דוחף את השוקיים בכל צעד כדי להחזיר את האנרגיה שאבדה.
יוצאים לשטח, הולכים לבית-הספר
הרובוטים שהוזכרו עד כה נעים על משטחים קשים ושטוחים. מה צריך לעשות כדי שרובוט יוכל ללכת על גלי אבנים, בוץ או שלג? כאן חשובה היציבות הדינמית, כי הרובוט אינו יכול לדעת, כאשר הוא מוריד את רגלו אל הקרקע, אם הרגל תשקע קצת בטרם תיעצר, אם היא תחליק וכו'.
אחד הרובוטים המרשימים היכולים לפעול בשטח כזה הוא "Big Dog", שמפתחת חברה אמריקנית והמיועד בין השאר לשימושים צבאיים. הרובוט בעל ארבע הרגליים יכול לטפס על גבעת חול, לשאת משאות (כ-70 ק"ג) ואפילו לקפוץ מעל מכשולים, כפי שאפשר לראות בקישור שבסוף הטור ובסרטים המוצגים באתר זה. אולי לא במקרה, שניים מהסרטים מלווים במוזיקה של לורי אנדרסון, שצוטטה בתחילת המאמר.
תכנון של תנועת רובוטים הוא קשה מהרבה סיבות: אחת הסיבות היא שאף שיש לנו מודלים לחיקוי (הליכה של אדם, כלב, עכביש וכו'), איננו באמת יודעים כיצד אנו הולכים – למשל, מתי אנו מניעים את האגן? באיזה סוג הליכה? בתחילת הצעד או בסופו? איך משתלבות הידיים בתנועה?
אפשרות אחת היא לחקור בדקדקנות את התנועה האנושית, כפי שעושים מאמני ורופאי ספורט. אפשרות אחרת היא לגרום לרובוט לנסות מספר רב של צירופים ו"תכניות תנועה", להתמקד בטובות ביותר ולהמשיך לשפר אותן. במילים אחרות, ניתן לרובוט ללמוד איך ללכת. אפשר לעשות זאת מהר, אם נדמה את הרובוט ואת סביבתו בסימולציה ממוחשבת, אבל אז אולי הסימולציה לא תתאר במדויק את התנהגות המערכות המכניות ואת האקראיות של "העולם האמיתי". ואפשר גם לבנות את הרובוט ולתכנת אותו לנסות תבניות תנועה שונות.
רובוטים לומדים כיום ללכת בכמה מעבדות בעולם. נזכיר דוגמה אחת: במסגרת "גביע הכדורגל לרובוטים" (RoboCup Soccer), אחת התחרויות היא בין קבוצות רובוטים מסוג AIBO (הרובוטים הקטנים דמויי-הכלב שפיתחה חברת סוני). הקבוצה של אוניברסיטת טקסס באוסטין, כמו קבוצות אחרות, מתמודדת בין השאר עם האתגר של תכנון נכון של תנועת הרובוטים.
ההליכה שחברת סוני תכנתה לא היתה מספיק מהירה כדי לנצח במשחק, והמפתחים שאפו להשיג תנועה של "טפיפה" (trot באנגלית), שבה הרגל הימנית הקדמית נוגעת בקרקע יחד עם הרגל השמאלית האחורית, וכאשר הן מורמות נוגעות יחד בקרקע שתי הרגליים האחרות.
יש הרבה אפשרויות בקביעת הפרטים של תנועה זו. המפתחים החליטו להפעיל שלושה רובוטים, שהתחילו מהליכות לא-יעילות. התוכנות ששלטו ברובוטים שיפרו בהדרגה את תבניות ההליכה, באמצעות תהליכי למידה אוטומטיים, עד שהושגה המהירות הגבוהה ביותר שדווחה עבור סוג רובוטים זה (לפחות עד לזמן אותו מחקר): כ-30 ס"מ לשנייה (או כק"מ אחד לשעה).
המפתחים, שציפו כי בכל רגע יהיו שתי רגליים על הקרקע, הופתעו לגלות שהרובוטים לימדו את עצמם להניח כל זוג רגליים על הקרקע רק 43% מהזמן, כלומר שב-14% מהזמן הרובוט אינו נוגע כלל בקרקע. מעניין כי גם סוסים הנעים בטפיפה ניתקים מהקרקע לחלקיקי שנייה בכל צעד (כדי לפתור ויכוח ארוך-שנים על שאלה זו, פותחו ב-1877 טכניקות צילום וחשיפה מהירה, ואלו סללו את הדרך לפיתוח הקולנוע).
המפתחים לא הסתפקו בהשגת מהירות גבוהה, מכיוון שהרובוטים מתחרים לא בריצה אלא בכדורגל. כדי שיוכלו לראות את הכדור ואת מיקום השחקנים האחרים, המצלמה המותקנת בראשו של הרובוט צריכה להיות יציבה ככל האפשר.
דרך התנועה שאותה למדו הרובוטים בתחילה גרמה למצלמה לנוע בחוזקה. לכן נשלחו הרובוטים למשימה נוספת, שבה נדרשו ללמוד תנועה מהירה שגם שומרת על יכולת זיהוי העצמים הנקלטים במצלמות של הרובוטים.
הכלבלבים האלקטרוניים הצליחו גם במשימה זו, ואימצו לעצמם תנועה שהיא אמנם אטית בכ-30% מהתנועה הקודמת, אך משפרת בצורה משמעותית את יכולתו של הרובוט לעקוב אחר הכדור. החוקרים מציעים להוסיף ל"ארגז הכלים" של הרובוט תהליכי בחירה בין ריצה מהירה ככל האפשר לבין ריצה המתרכזת בזיהוי העצמים האחרים שבמשחק ומיקומם.
מפאת העניין הרב ברובוטיקה, תחום הרובוטים הניידים זוכה לתשומת לב רבה. כמעט כל יום מביא פריצות דרך חדשות, הקשורות להליכה, לריצה, לזחילה, לקפיצה או לגלגול. אולי בעקבות מאמצים אלה יגיע זמן שבו נקבל את העובדה שרובוט יכול לנוע כמובנת מאליה, והליכה לא תהווה עוד אתגר לבינה המלאכותית, כפי שאנו מקבלים כמובן מאליו את יכולתנו ללכת, מבלי שנוכל אפילו לשחזר איך למדנו לעשות זאת.
ישראל בנימיני עובד בחברת ClickSoftware בפיתוח שיטות אופטימיזציה מתקדמות.
תודה לתום שפיגלמן על שיחות מעניינות ועל מידע שתרם לטור זה.