אלפי חרקים רובוטיים ימריאו אל-על במטרה משותפת
בקיצור
- דבורובוטים הם רובוטים מעופפים בגודל דבורה. גודלם מחייב התגברות על מגוון עצום של אתגרים פיזיקליים וחישוביים. בממדים קטנים כאלה, המנועים והמסבים הזמינים בשוק אינם יעילים דיים, כך שהדבורים חייבות להשתמש בשרירים מלאכותיים שעוצבו במיוחד כדי לעוף ולשלוט בטיסה.
- כמו כן, הדבורים הזעירות חייבות לחשוב בעצמן, בעזרת חיישנים זעירים שיעבדו מידע מן הסביבה ומעבדים שיחליטו אילו פעולות לבצע.
- בדומה לדבורים אמיתיות, יפעלו הדבורובוטים במיטבם כחלק מנחיל בעל אלפי פרטים, שיתאמו את פעולותיהם בלי להסתמך על מנהיג יחיד. הכוורת חייבת להיות עמידה ברמה כזאת, שהקבוצה תוכל להגשים את מטרותיה גם אם דבורים רבות יושבתו
לפני זמן לא רב, מגפה מסתורית ושמה "הפרעת התמוטטות המושבה" (CCD) החלה לחסל כוורות של דבורי דבש בארצות הברית. הדבורים האלה אחראיות לרוב פעילות ההאבקה המסחרית המתבצעת בארה"ב, ואובדנן עורר חשש שמא החקלאות תיפגע גם כן. ב- 2009 החלנו, שלושת המחברים ועמיתינו באוניברסיטת הרווארד ובאוניברסיטת נורת'איסטרן, לחשוב ברצינות מה יידרש כדי ליצור מושבת דבורים רובוטיות. תהינו אם דבורים מכניות יוכלו לשחזר לא רק את התנהגותה של דבורה יחידה, אלא גם את ההתנהגות הייחודית שנוצרת כשאלפי דבורים מקיימות יחסי גומלין זו עם זו. יצרנו אפוא את ה"דבורובוטים" (RoboBees) הראשונים, רובוטים מעופפים שגודלם כגודל דבורה, ואנו שוקדים על פיתוח דרכים לגרום לאלפים מהם לשתף פעולה כמו בכוורת אמיתית.
במבט ראשון, משימה כזאת נראית כמעט בלתי אפשרית. הדבורים עוצבו לאורך מיליוני שנות אבולוציה לכדי מכונות מעופפות מדהימות. גופן הזעיר מסוגל לעופף במשך שעות, לשמור על יציבות במהלך פרצי רוח, לחפש פרחים ולחמוק מפני טורפים. נסו לעשות זאת עם רובוט בגודל מטבע!
ומה בדבר הכוורת? נראה שאין במושבת דבורים שום מפקח ושום סמכות ריכוזית. אף על פי כן, עשרות אלפי דבורי דבש במושבה חולקות ביניהן את העבודה בתבונה ומצליחות לבצע משימות חיוניות לקיומה של הכוורת כולה. כשהכוורת זקוקה לעוד אבקת פרחים, דבורים נוספות יוצאות לאסוף אותה; כשהכוורת דורשת תחזוקה, הדבורים נשארות בבית. וכשמשהו משתבש, למשל כשהמלכה מתה באופן לא צפוי, הדבורים מסתגלות במהירות לנסיבות המשתנות. אם אין שום מנהיג, איך מושבה גדולה כל כך מסוגלת לקבל את ההחלטות המורכבות האלה במהירות ובלי מהומה שמקורה בבעיות תקשורת?
כוורת רובוטית תוכל לסייע לחקלאות על ידי איבוק פרחים, אבל זה רק אחד מן השימושים הרבים האפשריים. למעשה, רובוטים קטנים, זריזים, פשוטים ולא יקרים יוכלו לבצע פעולות רבות ביעילות הרבה יותר גדולה משיכולים לבצע מעט רובוטים בעלי יכולות גבוהות. לדוגמה, חשבו על איש כוחות חילוץ שמצויד בקופסה עם אלף דבורובוטים שמשקלה פחות מקילוגרם אחד. אפשר לשחרר את הדבורובוטים האלה באתר אסון כדי לחפש את חתימת החום, הקול או נשיפת הפחמן הדו-חמצני של הניצולים. די בשלושה רובוטים בלבד מתוך האלף שיצליחו במשימתם, והדבר ייחשב להצלחה לנחיל כולו. זה דבר שאי אפשר לומר על הדור הנוכחי של רובוטי חילוץ, שעולים מאות אלפי דולרים ליחידה.
עם זאת, מושבה של דבורים רובוטיות מציבה מספר עצום של אתגרים טכנולוגיים. גודלם של הרובוטים צריך להיות סנטימטרים ספורים מקצה אל קצה, ומשקלם כחצי גרם – כמאית המשקל של כלי הטיס העצמאי הקל ביותר בעולם. האריזה הזעירה הזאת צריכה לכלול את מערכת הטיסה, את מערכת הראייה וכן את המוח האלקטרוני, ואת אמצעי הבקרה שיקבעו את אופן האינטראקציה של הדבורה עם חברותיה לכוורת. כל היעדים האלה מתקרבים להישג-יד בזכות התקדמות במדעי החומרים, בטכנולוגיית חיישנים ובארכיטקטורת מחשוב.
גוף ומעוף
האתגר המובן-מאליו ביותר ביצירת רובוט מעופף זעיר הוא כיצד לגרום לו לעוף. למרבה הצער, ההתקדמות שהושגה בתחום מזעור הרובוטים בעשר השנים האחרונות אינה מסייעת לנו יותר מדי, מכיוון שממדיו הקטנים של הדבורובוט משנים את טבעם של הכוחות שפועלים עליו. כוחות פני שטח, כגון חיכוך, נעשים משפיעים יותר מאשר כוחות שקשורים לנפח, כמו כוח הכבידה וההתמד. בעיית קנה המידה הופכת את רוב ארגז הכלים הטיפוסי של מהנדסי המכונות לבלתי יעיל, ובכלל זה מסבים, גלגלי שיניים ומנועים אלקטרומגנטיים. הרכיבים האלה נפוצים מאוד ברובוטים גדולים יותר, אך אינם יעילים דיים לדבורובוט.
במקום מנועים וגלגלי שיניים מסתובבים, עיצבנו את הדבורובוט עם אנטומיה דומה מאוד לזו של חרק מעופף: כנפיים מנפנפות המוּנַעות (במקרה זה) בשרירים מלאכותיים [ראו מסגרת למעלה]. מערכת השרירים שיצרנו עושה שימוש ב"שרירים" נפרדים להנעה ולבקרה. מחוללי תנועה (אַקְטוּאַטוֹרים) גדולים וחזקים באופן יחסי גורמים לתנודות במערכת הכנף והחזה כדי ליצור את הנפנוף, ואילו מחוללי תנועה קטנים יותר מכווננים את תנועות הכנפיים ליצירה של מומנט סיבוב לצורכי בקרה ותמרון. שני מחוללי התנועה פועלים על המפרק שמחבר את הכנף לגוף.
השריר המלאכותי עשוי מחומרים פְּיֶיזוֹ-אֶלֶקטריים, שמתכווצים כשמפעילים עליהם מתח חשמלי. למחוללי תנועה כאלה יש כמה חסרונות, למשל, הם מצריכים מתח גבוה והם שבריריים, אך זה אחד המקרים שבהם הפיזיקה של קנה המידה הקטן פועלת לטובתנו. ככל שמחוללי התנועה האלה קטנים יותר, כן הם מנסים לפעול מהר יותר, ומכיוון שכמות העבודה הדרושה בכל מחזור (ליחידת מסה) נשארת פחות או יותר קבועה, נפנוף מהיר יותר יוצר הספק גבוה יותר. למעשה, השרירים האלה מפיקים הספק שמשתווה לזה של שרירי חרקים בגודל דומה.
בשנים האחרונות ביצענו ניסויים בעשרות תצורות שונות של מחוללי תנועה ומִפרקים. ומכיוון שיהיה צורך לייצר בייצור המוני אלפי דבורים כאלה, בחנו בכל תצורה את קלות הבנייה.
דגמי השרירים המלאכותיים המוצלחים ביותר שהצלחנו לבנות עד כה מיוצרים מכריך בעל שלוש שכבות: יריעות קשיחות למעלה ולמטה, ויריעת פולימר דקה באמצע. את המפרקים הגמישים אנחנו יוצרים על ידי סילוק חומר מן השכבות החיצוניות באמצעות חריטה, כך שהפולימר באמצע חופשי להתכופף [ראו מסגרת בעמוד הקודם].
התקדמנו מאוד בבנייה של רובוט בגודל דבורה, אך אנחנו עדיין מנסים למצוא את הדרך הטובה ביותר לספק לו חשמל. כדי לעמוד בדרישות האנרגיה הגבוהות של מעוף בקנה מידה קטן, רוב המסה של הדבורה הרובוטית צריכה להתרכז במחולל התנועה הראשי וביחידת הכוח (לצורך הדיון נתייחס אליה כאל סוללה, אם כי אנחנו בוחנים גם שימוש בתא דלק זעיר מסוג מוצק-תחמוצת.) שאלת האנרגיה התגלתה במידה מסוימת כמלכוד 22: ככל שיחידת הכוח גדולה יותר היא מאחסנת יותר אנרגיה, אך מחייבת מערכת הנעה גדולה יותר כדי להתמודד עם משקל עודף, וזו בתורה מצריכה מקור אנרגיה גדול עוד יותר.
טרם הצלחנו להטיס דבורובוט בעל מקור אנרגיה עצמאי, ועם זאת הדגמנו כיצד רובוט שמשקלו 100 מיליגרם מפיק די דחף כדי להמריא (כשהוא מחובר בחוטים למקור אנרגיה חיצוני). הדבורובוט הצליח גם לייצב את עצמו באמצעות שילוב של מנגנונים אקטיביים ופסיביים. בהינתן צפיפות האנרגיה של מיטב הסוללות המודרניות והיעילות של כל רכיבי הרובוט, אנחנו מעריכים שזמן הטיסה המרבי לא יעלה על כמה עשרות שניות בלבד. כדי להאריך את זמן המעוף הזה אנחנו פועלים לצמצום המסה ולשיפור מרבי של היעילות של כל רכיב בגוף הרובוט.
מוח וניווט
האנרגיה אינה הסיבה היחידה לכך שהדבורובוט עדיין מחובר בכבל. בעיה נוספת שטרם פתרנו היא זו של ה"מוח" הנישא: דבורובוט עצמאי בשטח יצטרך לסרוק את הסביבה, להחליט מהי דרך הפעולה המועדפת ולשלוט במנגנוני הטיסה. במעבדה אנחנו משתמשים בפתרון מאולתר של אלקטרוניקה חיצונית, אך בשטח, הדבורובוט יזדקק ל"מוח" משל עצמו.
ברמת התהליכים הגבוהים, המוח הזה מהווה יחידה תבונית שלא זו בלבד שהיא אחראית לשליטה בדבורובוט היחיד אלא אף לניהול האינטראקציה שלו עם דבורובוטים אחרים במושבה. אנחנו בונים את המוח בשכבות: חיישנים לפענוח הסביבה הפיזית, מערכת עצבית אלקטרונית המטפלת בפעולות בקרה בסיסיות, ו"קליפת מוח" אלקטרונית ניתנת לתכנות שמקבלת החלטות ברמה עילית. בשלב ראשון ניסינו לעצב תת-מערכת של המוח הזה, שתאפשר טיסה עצמאית. האתגר הזה חייב חוג בקרה הדוק שכולל חיישנים, מעבדי אותות ותנועה של חלקי הגוף.
כדי לקבוע באילו חיישנים להשתמש וכיצד לחווט את מוח הרובוט, פנינו שוב לטבע. זבובים (ובעלי חיים אחרים) משתמשים בשני סוגים עיקריים של חיישנים כדי לנווט בעולם: חיישנים פְּרוֹפְּריוֹצֶפְּטיביים המעניקים למעופף מידע על עצמו – באיזו מהירות הכנפיים שלו נעות, לדוגמה, או כמה חשמל נותר בסוללה וחיישנים אֶקְסְטרוֹצֶפְּטיביים המספקים מידע על העולם שבחוץ.
הטכנולוגיה המודרנית מציעה ניווט לווייני, חיישני תאוצה וג'ירוסקופים מרובי-צירים, אך חיישנים כאלה הם לרוב כבדים, זוללי חשמל או שניהם גם יחד ולכן אינם מתאימים לשימוש כזה. משום כך אנחנו בודקים מערכת ראייה אלקטרונית דומה לזו של דבורים אמיתיות: מערכת המנתחת "זרימה אופטית", שהיא התנועה הנראית של עצמים בשדה החזותי של חיישן תמונה. דמיינו את הנוף הנשקף מחלון הנוסע שבמכונית: עצמים קרובים נראים כחולפים במהירות דרך שדה הראייה, ואילו עצמים רחוקים נעים לאט. מערכת ראייה שמנצלת את המידע הזה מסוגלת ליצור ייצוג תלת ממדי של הסביבה, אפילו אם היא מצוידת בחיישן תמונה קטן ופשוט בלבד.
עם זאת, מוח הדבורובוט יצטרך להיות חזק דיו כדי לעבד את זרם הנתונים שמגיע מחיישני התמונה, ולקבל את החלטות הבקרה המתאימות להנעת מחולל התנועה שבגופו. גם כאן, אפילו הרכיבים המתקדמים הזמינים בשוק לא יועילו לנו. לפיכך, אנחנו בוחנים סוג חדש של ארכיטקטורת מחשוב בעבור מוח הדבורובוט, המשלבת מחשוב רב-תכליתי עם מעגלים ייעודיים המכונים בשם "מאיצי חומרה". בניגוד למעבדים הרב-תכליתיים המסוגלים לבצע משימות רבות, כמו למשל הפעלת מחשבים ביתיים רגילים, מאיצי החומרה הם בלוקים של מעגלים שהותאמו במיוחד ובמדויק לביצוע משימה אחת ויחידה – אבל לבצע אותה כהלכה. אנחנו נשתמש במאיצי חומרה לביצועם של חישובים זריזים בזמן אמת, הדרושים לחוג בקרת המשוב של מעוף יציב, במסגרת תקציב האנרגיה המוגבל.
אתגר מרכזי היה לקבוע אילו פשרות נוכל לספוג. לדוגמה, היינו מעוניינים להשתמש במצלמה בעלת רזולוציה גבוהה, אך מספר פיקסלים גדול מחייב חיישני תמונה גדולים וכוח מחשוב נוסף כדי לעבד את התמונות. מהו אפוא האיזון הנכון?
כדי לסייע בפתרון שאלות כאלה, פיתחנו תא ניסוי מיוחד. אנו מחברים גוף של דבורובוט לחיישן רב-צירי של כוחות ומומנט סיבוב ומניחים לו לנפנף בכנפיו בניסיון לעוף. על קירות התא אנו מקרינים תמונות של הסביבה הפיזית שבה יעוף הדבורובוט. כך אפשר לבחון כיצד אבות הטיפוס של מערכת הראייה, המוח והגוף פועלים יחדיו ומנווטים בעולם.
כמובן, בקרת טיסה היא רק ההתחלה. במקביל, אנחנו חוקרים סוגים אחרים של חיישנים, שיאפשרו לדבורובוט לבצע משימות ייחודיות – למשל, למצוא אדם הלכוד בין הריסות רעידת אדמה.
למרבה הצער, יכולת אחת שאיננו צופים לדבורים האלה שלנו היא תקשורת ישירה בין דבורה לדבורה. עלויות האנרגיה שכרוכות בתקשורת אלחוטית גדולות מדי. אף על פי כן, אין משמעות הדבר שהדבורים יפעלו לבדן.
מושבה ותקשורת
דבורובוט יחיד יהיה זעיר ומוגבל ביחס לעולם שבו אנחנו מקווים שיפעל, ומגבלות האנרגיה והמשקל מחייבות אותנו להסתפק בכך שכל דבורובוט יוכל לשאת חומרה מצומצמת לחישה ולתקשורת. לכן, לבד מן המחקר שעוסק בגוף ובמוח של הדבורובוט, עלינו להבין גם כיצד בונים מושבה. בדומה לדבורי הדבש, דבורובוט אחד לא יוכל להשיג הרבה, אך בעזרת התנהגות קבוצתית, כוורת של דבורובוטים תוכל לחקור אזורים גדולים, לשלב תצפיות פשוטות מרובות לתמונה בעלת משמעות, לחלק את העבודה ביעילות ולהצליח גם כשמקצת הדבורים כושלות. נחילים של רובוטים קטנים וזריזים, שאף אחד מהם אינו חיוני כשהוא לעצמו, יוכלו לבצע מגוון משימות, למשל האבקת פרחים, או משימות חיפוש והצלה באירועי אסון – שרובוטים יחידים אינם מסוגלים לעשות.
מאז תחילת שנות ה-90, מדעני מחשב החוקרים תחום הקרוי "אינטליגנציית נחיל" יצרו אלגוריתמים רבים וחזקים לתיאום פעולות בהשראת חרקים חברתיים, החל מאסטרטגיות חיפוש מתואם ועד חלוקת עבודה חכמה. ואולם, על אף האלגוריתמים האלה, אי אפשר לנהל נחילי רובוטים כפי שמנהלים רובוט יחיד.
ראשית, כשיש אלפי פרטים, תכנות והסקת מסקנות ברמת הפרט אינם ישימים, כפי שאי אפשר לדרוש ממפתח התוכנה הממוצע לכתוב את ההוראות בעבור כל ביט פיזי במחשב. במקום זאת, בדומה לאופן שבו מהדרים (קומפיילרים) לוקחים הוראות בשפת תכנות שאנשים יכולים לקרוא ומתרגמים אותן לאפסים ולאחדים שמנהלים את פעילות הטרנזיסטורים היחידים שבתוך מיקרו-מעבד, אנחנו זקוקים לדרך לתכנת את המושבה כמכלול ברמה עילית יותר ומופשטת, כך שההוראות הכלליות יתורגמו לתכניות התנהגות של פרטים. אנחנו צריכים שפת תכנות למושבות.
איזו שפה מתאימה כדי לתאר את פעילותה של כוורת דבורים, ואת מה שאנחנו רוצים לבצע בעזרת מושבת הדבורובוטים שלנו? כרגע אין תשובה פשוטה, אך בתור התחלה פיתחנו שתי שפות מופשטות. בשפת "קארמה" אפשר ליצור תרשים זרימה של משימות שהמושבה צריכה לבצע. התרשים הזה כולל קישורים, שמייצגים תנאים להפעלת משימות חדשות. מערכת קארמה משתמשת במידע שחוזר מן הפרטים כדי להתאים את הקצאת המשאבים למשימות, באופן שמחקה את תפקיד הכוורת במושבות דבורים אמיתיות.
גישה אחרת, המכונה בשם optRAD רואה במושבת הרובוטים המעופפים כעין נוזל שמפעפע במרחב הסביבתי. כל דבורובוט יחיד משתמש באלגוריתם הסתברותי כדי לקבוע אם הוא יבצע משימה, וזאת בהתאם למצב הנוכחי של הסביבה. ראיית המערכת כנוזל מאפשרת ל-optRAD לחשוב ברמה עילית על התוצאות הצפויות ולהתאים את התנהגותה לנסיבות חדשות.
אנחנו צריכים ללמוד עוד הרבה על בנייה והפעלה של מושבת רובוטים גדולה, שכוללת לא עשרות או מאות אלא אלפי רובוטים עצמאיים, מספר גדול הרבה יותר ממספר המפעילים האנושיים. במספרים כאלה, אפילו הפעלה של כל רובוט ברמת הפרט היא בלתי ישימה. דמיינו שלכל רובוט יש מפסק הפעלה וכיבוי: אם הפעלה של כל רובוט מצריכה חמש שניות, הפעלה של אלף תדרוש כמעט שעה וחצי. מגבלות דומות חלות על כל דבר, מן העלות ועד התחזוקה. כל רובוט חייב להיות זול, קל לבנייה ופשוט להפעלה ברמת הקולקטיב. השאיפה היא שכל פעולה תהיה ניתנת להרחבה, שתדרוש זמן קבוע, שאינו גדל (או לפחות גדל לאט מאוד) ככל שהקולקטיב גדל.
האתגרים האלה הביאו אותנו ליצור את מערכת "קילובוט" – קולקטיב של מאות רובוטים, כל אחד מהם רוחבו כרוחב מטבע של חצי שקל, שנעים באמצעות רעידות ומתקשרים עם קילובוטים דומים בסביבתם. אנחנו יכולים להשתמש בקבוצה זו כדי לבחון את היעילות של שפות התכנות שלנו ושל המודלים המתמטיים להתנהגות מגיחה (אֶמֶרגנטית). ככלות הכול, בלי להתנסות עם חומרה אמיתית, אין סיכוי שנבין את ההתנהגות המגיחה של מערכות פיזיקליות.
הקולקטיב יכול לשמש לבחינת הרבה התנהגויות קבוצתיות שנרצה להשיג בסופו של דבר עם מושבת הדבורובוטים. לדוגמה, נוכל לבקש מן הקבוצה לחפש מטרות בסביבה, וברגע שקילובוט מסוים ימצא מטרה, הוא ידווח על מיקומה לקבוצה. כמו כן, יצרנו את תכנון הקילובוטים בקוד פתוח בשביל צוותים המעוניינים ליצור רובוטים משלהם. אפשר גם לרכוש קילובוטים מוכנים מחברת הרובוטים הלימודיים K-team. אנחנו מקווים שערכות רובוטיקה סטנדרטיות כאלה יעזרו להעלות רעיונות חדשים ויעודדו התקדמות שיתופית במדע, כזאת שקבוצות יחידות אינן מסוגלות להשיג – כי בסופו של דבר, גם אנחנו מסתמכים על עוצמת הקולקטיב כדי להיות יותר מסכום החלקים שלנו.
העתיד
אמנם התקדמנו מאוד, אבל נותרה הרבה עבודה. לדעתנו, בתוך שנים ספורות נראה דבורובוטים מעופפים בתנאי מעבדה מבוקרים היטב. חמש עד עשר שנים לאחר מכן, ייתכן שתראו אותם בשימוש המוני.
ב- 1989 כתב הרובוטיקאי הנודע רודני ברוקס מאמר על היתרונות של רובוטים קטנים בחקר החלל. כותרת המאמר הייתה: "מהיר, זול וחסר שליטה – פלישה רובוטית למערכת השמש". זהו כמובן משחק מילים על האמרה הידועה של המהנדסים בעניין מוצרי צריכה, שאפשר לאפיין אותם על ידי שניים, ורק שניים, מן התארים האלה: מהיר, זול ואמין. כשיש הרבה פרטים, הכישלון של אחד מהם זניח.
הפרשנות של ברוקס לתפיסת הרובוטיקה הזאת התגלתה כנבואית. אם אפשר ליצור פרטים פשוטים רבים שעובדים ביעילות יחדיו, למי אכפת אם קצתם כושלים פה ושם? הדרך היחידה להבטיח את הצלחת הרובוטים החוקרים היא להניח להם ליפול מדי פעם מן השמים.