פרויקט של Webots

דף זה מכיל את הפרטים של פרויקט כתיבה טכנית שהתקבל בעונה של Google Docs.

סיכום הפרויקט

ארגון הקוד הפתוח:
וובוטים
כתב טכני:
ערוץ אשליות רכות
שם הפרויקט:
סדרת סרטוני הדרכה ל-Webots (שילוב עם ROS2)
אורך הפרויקט:
אורך רגיל (3 חודשים)

תיאור הפרויקט

לימוד:

סדרת סרטוני ההדרכה הזו תאפשר למשתמשים חדשים להתחיל את השימוש ב-Webots בצורה הטובה ביותר, ותספק לצופים פתרונות ברורים, מפורטים, לביצוע סימולציות ספציפיות.

יעד:

עד סוף הסדרה, הצופים יוכלו ליצור צומתי ROS2 בסיסיים וליצור אינטראקציה עם Webots, וגם להשיג ביטחון לעבוד על פרויקטים מתקדמים ברובוטים לנייד. סדרת הסרטונים הזו תספק גם הסברים תיאורטיים טובים לכמה מושגים חיוניים בתחום הרובוטיקה.

פרטים על סדרת הסרטונים:

  1. התקנה והגדרה של מאגר ב-Visual Studio Code, ROS 2. זה כולל התקנה חכמה של ROS2 ואת יסודות הפעולה שלו. שנית, הוא יכלול גם הגדרה של סביבת ROS בקוד VS ופונקציונליות של כרטיסיות בסיסיות בקוד VS.

  2. דוגמה בסיסית ל-ROS2 ול-Webots. כמה דוגמאות של Webots ROS2 ישמשו כדי לעורר עניין בקרב הצופים להבין מה נפלאות אפשר לעשות אם נשתמש ב-ROS2 עם Webots לסימולציה. התוכנית תכלול גם תיאוריות בסיסיות של התקשורת בין ROS2 לבין Webots.

  3. שימוש בשירותי ROS2 לאינטראקציה עם Webots. הסבר על העקרונות הבסיסיים של שירות ROS לגבי השירותים ב-ROS וב-ROS2. שנית, הצגת מדריכים לביצוע פעולות, והפעלת חיישני תנועה לנושא החיישן לצורך מדידות ותנועה.

  4. שליטה ברובוט מותאם אישית עם ROS2 Publisher. למידה איך לפרסם הודעות באמצעות ROS2 בעלי תוכן דיגיטלי ב-Webots. אנחנו יכולים ליישם דוגמה לשליטה בתנועה של הרובוט על ידי פרסום פלט המקלדת בנושא, שבו ניתן להשתמש בשירותי ROS לתנועה ב-Webots.

  5. קבלת משוב מהרובוט עם מנוי ROS2. בסרטון הזה, נרשמים לקריאות חיישנים של חיישני מרחק ונעצרו כשהרובוט עומד להתנגש. בעיקרון, זה יהיה צומת למניעת מכשול שבו מתפרסמות הודעות אינטראקטיביות.

  6. רובוט ראשי(בעל תוכן דיגיטלי) Slave(מנוי) עם ROS2. בסרטון הזה, נוכל לשלוט ברובוט אחד עם מקלדת ולגרום לרובוט אחר להתרחק מהרובוט הידני. בדומה לתרחיש של גנבים ושוטרים :) [זה יהיה רצף של 3,4,5 סרטונים]. כך יוכלו הצופים לבדוק את התקשורת, ואם יש בעיה ב-ROS, יוצגו פגמים בסימולציה.

  7. הגדרת Rviz (הצגת פלט חיישן שונה). בסרטון הזה נוסיף כמה חיישנים נוספים ונפרסם את הנתונים שלהם ב-Rviz. בסוף הסרטון הצופה יוכל להגדיר את Rviz (כלומר להוסיף חיישנים כמו ליד, מצלמה וכו' לתצוגה חזותית), לשמור את ההגדרות ולהשיק את ההגדרות האישיות שנשמרו בפעם הבאה.

  8. סרטון לניפוי באגים (הד Rostopic, מידע על Rostopic, RQT_graph). הסרטון יכלול פונקציונליות לא נכונה מכוונת במספר נושאים כדי לעזור להבין את הטכניקה של ניפוי הבאגים. נבצע תהליך של הצגת תרשים ה-RQT ונדע אילו נושאים אחראים לבעיה. משתמשים בהד rostopic כדי לבדוק אם הנושא מתפרסם, ובסופו של דבר בדיקה מידע על נושאים רוסים כדי להבין מה הבעיה. פותרים את הבעיה ונהנים מפונקציונליות רגילה.

  9. ניפוי באגים בסרטון(rqt_console, rqt_gui) בסרטון הזה, הודעות Ros(מידע, ניפוי באגים, שגיאה וכו') ישמשו בצומת, ונבדוק את השימוש ב-rqt_console. כמו כן, הסרטון יורחב לשימוש ב-rqt_gui כדי לפרסם הודעות דמה כדי לקבל את הפונקציונליות הנדרשת. זו יכולה להיות גישה חלופית לתיקון באגים מסוימים.

  10. סרטוני נושא מתקדמים: על השילוב של ספריית SLAM בסביבה לא ידועה (SLAM Toolbox או LaMa) [חלק 1] הסרטון הזה יתחיל בתיאוריה הבסיסית של בעיות SLAM. לאחר מכן נשתמש בתשתית של המושגים שנלמדו למעלה כדי להבין את לבמה של הפרויקט. לסיום, נעלה את הצמתים הדרושים דרך הטרמינל ונראה את פלט המיפוי ב-Rviz.

  11. סרטוני הדרכה מתקדמים: על השילוב של ספריית SLAM בסביבה לא ידועה (SLAM Toolbox או LaMa) [חלק 2] כהמשך הסרטון העשירי, בסרטון הזה אלמד איך ליצור קובץ הפעלה כדי להפעיל את כל הצמתים יחד ולבדוק את rqt_graph כדי להבין כראוי את המושגים במסגרת ה-ROS. בסופו של דבר, נשמור את המפה שנוצרה על ידי החבילה באמצעות שרת מפות.

  12. סרטונים מתקדמים בנושא: על השילוב של OpenCV (זיהוי תגי AR, חבילת Ar_track_alvar) [חלק 1] הסרטון יתחיל בהסבר על תגי AR והמשמעות שלהם בלוקליזציה באמצעות ראייה ממוחשבת. לאחר מכן נעבוד על אופן הפעולה של חבילת Alvar ב-AR. המידע הזה יעזור לספק נקודת מבט כללית על הפרויקט. לבסוף, יתבצע שירות שמאפשר סטרימינג של פריימים מסרטונים מ-Webots לנושא ROS.

  13. סרטוני נושא מתקדמים: על השילוב של OpenCV (זיהוי תגי AR, חבילה של Ar_track_alvar) [חלק 2] הסרטון הזה יהיה המשך של הסרטון ה-12 שבו ייעשה שימוש בסטרימינג של התמונה שלמעלה, ויתפרסם נושא של טרנספורמציה בין הרובוט לבין תג ה-AR שניתן לצפות בו ב-Rviz. לבסוף, כשנזיז את הרובוט, נראה הצבת תגים שונים והמיקום שלהם משתנה ב-Rviz ובהודעות עם נושאים.

סיכום:

פרויקט GSOD הזה הוא חבילה עצמאית שמאפשרת הבנה בסיסית של השילוב של ROS2 עם Webots. החבילה הזו תכלול גם הטמעה מעשית של המושגים ב-ROS2 כמו נושאים, שירותים, צמתים, קובצי הפעלה, בעל אתר, מנוי, כלים שונים לניפוי באגים ושימוש בקוד VS. זה כולל גם פרויקטים מתקדמים של נושאים כמו SLAM ו-OpenCV. הדבר ייתן לצופים פרדיגמה של סיום עבודה באמצעות ROS2 ו-Webots.