פרויקט של Webots

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

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

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

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

למידה:

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

יעד:

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

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

  1. ROS 2 – התקנה והגדרה של מאגר ב-Visual Studio Code. זה כולל התקנה חכמה של 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. רובוט ראשי (בעל תוכן דיגיטלי) מעבד (Save (מנוי)) עם ROS2. בסרטון זה, נוכל לשלוט ברובוט אחד עם מקלדת ולגרום לרובוט אחר לברוח מהרובוט הידני. דומה לתרחיש של גנבים ושוטרים :) [זה יהיה המשך של 3,4,5 סרטונים]. כך הצופים יוכלו לבדוק את התקשורת, ואם יש בעיה ב-ROS, יימצאו בעיות בסימולציה.

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

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

  9. סרטון לניפוי באגים(rqt_console, rqt_gui) בסרטון הזה, ייעשה שימוש בהודעות Ros(info, debug, error וכו') בצומת, ונבחן את השימוש ב-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 ובהודעות rostopic.

סיכום:

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