פלטפורמה רובוטית – רובוט חכם

תגיות: , , , , , , , , , , ,

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

לפלטפורמה (או אם תרצו לרובוט) יש כרגע את היכולות הבאות:

  1. ראייה ממוחשבת (חיקוי של ראייה אנושית, היכולת להבין מה הרובוט רואה ולהתנהג בהתאם). לדוגמה, הרובוט מסוגל לעקוב אחרי אובייקטים שונים, לזהות פנים, ולהתנייד בצורה עצמאית בחדר שמכיל מכשולים.
  2. סינטזת דיבור (Speech Synthesis) – היכולת לדבר בקול שנשמע אנושי. האמת היא שכאן דווקא בחרתי בקול שנשמע רובוטי, אבל העיקרון עדיין זהה – הרובוט מסוגל לדבר, להרכיז על פעולות שונות שהוא מבצע, דברים שהוא מגלה, ובמקרים מסויימים להשיב על שאלות (עוד על כך – בהמשך)
  3. זיהוי דיבור – היכולת להבין ולהגיב לפקודות אנושיות. לדוגמה: "Move Forward!", "Stop!" וכו'.

ראייה ממוחשבת (Computer Vision)

למימוש רוב יכולות הראיה המומחשבת, השתמשתי בספריית הקוד הפתוח OpenCV. הספרייה פועלת בסביבת לינוקס ומתמקדת בעיקר ביכולות עיבוד תמונה מתקדמות בזמן אמת (real time).

אלגורתמי הראיה הממוחשבת שמומשתי בינתיים:

  1. מעקב אחרי קו המסומן על הקרקע (Line Following).
  2. מעקב אחרי אובייקט (Object Tracking), לדוגמה כדור אדום. מדובר בשני סוגי מעקב – הראשון, יכולת של הרובוט להזיז את המערכת הראייה שלו ולעקוב אחרי מיקום הכדור (ללא תנועה אליו), והשני היכולת של הרובוט להבין היכן נמצא הכדור ולנוע אליו.
  3. זיהוי פנים – יכולת ניסויית שכרגע עדיין נמצאת בפיתוח. הרעיון הוא ראשית לזהות קיום של פני אדם במרחב הראייה של הרובוט, ולאחר מכן זיהוי אנושי של הפנים (ובמילים פשוטות – מי האדם). זיהוי האדם מבוצע באמצעות Face API.

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

סינטזת דיבור (Speech Synthesis)

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

הרובוט משתמש בדיבור כדי להכריז על פעולות שהוא מבצע, כגון: "Moving Forward", "Turning Left" וכו', כדי לומר שלום לאנשים אותם הוא מזהה ("Hi, Lior"), או מסקנות בסיסיות אליהן הוא מגיע ("Obsticle detected in front. Turning left").

זיהוי דיבור (Speech Recognition)

כדי שהרובוט יוכל להגיב לפקודות קוליות, הוספתי לו יכולות של זיהוי דיבור באמצעות שימוש ב-CMU Sphinx (למעשה Pocket Sphinx שרץ על ארכיטקטורת ARM).

הרובוט מבין פקודות בסיסיות כגון "Move Forward", "Stop" ופקודות איתחול אלגוריתמים שונים, לדוגמה: "Follow Ball" שלאחריה הרובוט יתחיל מעקב אחרי כדור, כמו שתואר בחלק הקודם.

תרשים על של הרובוט (TLD)

Linux Robot

Intellibot - an intelligent embedded linux robot

Linux Robot

Linux Robotic Platform

Linux Robotic Platform

מפרט טכני

  • מימדים:
  • משקל:
  • הספק:
  • מתח:
  • מנועים:
  • חישנים:
  • קישוריות:
http://www.youtube.com/watch?v=okt-2_VxGfc

2 Responses to "פלטפורמה רובוטית – רובוט חכם"

Leave a Comment

No results