Blockly::R
OS
מגישים
: גלעד בנט 300516374
עומרי ברוכים 300477833
מנחה
: דר' אמיר שפירא
אוניברסיטת בן גוריון בנגב
הקדמה
•
ROS -
מערכת הפעלה לרובוטים
•
פותחה בשנת 2007
• המעבדה לבינה מלאכותית של אוניברסיטת סטנפורד
•
מבוססת כולה על קוד פתוח
•
עקרון מנחה - המנעות מהמצאת
הגלגל בכל פעם
מחדש
•
הצעת
פונקציות סטנדרטיות
נפוצות
ROS::
מטרת הפרויקט
•
הבעיה:
–
פלטפורמת
ROS
דורשת ידע מקיף וניסיון
רב
–
הכרות מעמיקה עם שפות
תכנות כגון:
CPP
ו-
PYTHON
לשליטה ברובוט
•
הפתרון
:
–
פיתוח מערכת פשוטה לשימוש וידידותית לפיתוח ב-
ROS
–
דורשת הכרות עם לוגיקה בסיסית בתכנות וקריאת מדריך קצר על
ROS
בלבד
מה נרצה להשיג?
•
פישוט תהליך כתיבת הקוד
•
המשתמש לא יידרש להכיר את שפת התכנות
•
התמקדות בלוגיקה של התוכנית ולא בתחביר השפה
•
לחסוך את תהליך כתיבת הקוד ושגיאות כתיב מיותרות
•
המשתמש הוא מגיל 9 עד 99
איך נשיג?
•
שימוש בתשתית
Blockly
לתכנות גרפי באמצעות בלוקים:
–
שומשה למספר פרוייקטים בתעשייה כגון:
Play i ,MIT App Inventor ...
–
פותחה בשפת
JavaScript
•
פיתוח
Blockly
::ROS
לכתיבת
תוכניות בשפת
CPP
עקרונות מנחים בפיתוח המערכת
•
מערכת מבוססת
WEB
לשימוש בכל מערכות ההפעלה
• שמירה על
גנרית
•
קלה לשימוש
•
עוזרת
ללימוד
ROS
וסלחנית בתהליך התכנות
•
ניתנת להרחבה בהמשך ע"י מפתחים בקהילת
ROS
מערכת
Blockly
-ROS
מיד נדגים, אבל שניה לפני..
•
Nodes
–
החלק הבסיסי ביותר ב-
ROS
–
מהווה
למעשה מופע של
הפעלה
–
תוכנית
הרצה המבצעת חישובים
עד
אשר מסתיימת.
•
Topics
–
מערכת תעבורת מידע ונתונים באופן א-סינכרוני
– תקשורת בין Node ל-Node
–
"פרסום"
(Publish)
של הודעות
–
"רישום" (
Subscribe
) לנושא מסוים.
הדגמה
TAKE 1
הבלוקים שפותחו
•
הבלוקים מחולקים ל-2 קטגוריות:
-
בלוקי תכנות בסיסיים:
-
בלוקיים יחודיים ל-
ROS
:
נראה פה משהו זז היום?
•
לבחינת המערכת השתמשנו בסימולטור
Bobcat
–
רכב 4
X4
עם כף הרמה
–
הסימולציה
היא בתוכנת
Gazebo
•
כתיבת בלוקים לשליטה בכל חלקי הרכב
דוגמא קטנה לפני..
הדגמה
TAKE 2
ממשק לפיתוח בלוקים
Block Builder
•
ממשק פיתוח בלוקים מתקדמים
•
יצירת קטגוריות חדשות לרובוטים יחודיים
•
אפשרות לקהילת המפתחים ב-
ROS
להרחיב את המערכת
•
חיסכון של כתיבת קוד גם בקבלת רובוט חדש
Block Builder
בימים אלו..
•
המערכת הועלתה לרשת האינטרנט לשימוש הכלל
•
סרטוני הדגמה הופצו לקהילת מפתחי ROS
•
מופץ מדריך לממשיכי הדרך לפיתוח מודלים לרובוטים
נוספים
•
Blockly::ROS משותף בקהילת הקוד הפתוח
(..GitHub)
נסכם..
•
הסקירה הספרותית כללה לימוד
ROS בצורה מעמיקה
•
בחינת מספר תשתיות לפיתוח ממשק לתכנות גרפי
•
בחינת המערכת על רובוט ה-
BOBCAT
•
עמידה בעקרנות שהוצבו בתחילת הפרויקט
•
חשיבה יצירתית לפיתוח בלוקים תוך כדי שמירה על פשטות
נגמר..
תודה על ההקשבה!
Made with Slides.com