פרויקט של Ignition Robotics

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

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

ארגון הקוד הפתוח:
רובוטיקה של הצתה
כתב טכני:
לה תאילנדית
שם הפרויקט:
מדריכים לפיזיקה של הצתה ומסמכי API
אורך הפרויקט:
אורך רגיל (3 חודשים)

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

מוטיבציה

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

  • מדריכים מקיפים על יצירת יישומי פלאגין מותאמים אישית בפיזיקה שמשתמשים במנועי פיזיקה מותאמים אישית כדי להניע סימולציה
  • תיעוד API עקבי

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

תיאור

לפרויקט הזה יש שתי מטרות עיקריות:

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

בשלב זה, DART הוא מנוע התמיכה היחיד בפיזיקה בספרייה הזו. לכן, המדריכים עוסקים ב-DART. הדרכות ראשוניות אלה יילקחו בחשבון:

  1. מבוא: תיאור הארכיטקטורה ברמה הגבוהה של ספריית פיזיקה של ההצתה, מנועי הפיזיקה הנתמכים והמטרות.
  2. התקנה: מנחה את המשתמש להתקין באופן אופציונלי את מנועי הפיזיקה הנחוצים, בהתאם להקשרים של האפליקציות. המדריך הזה מדגים גם תצורות לדוגמה עבור כל פלאגין של מנוע פיזיקה להתאמת סימולציה ספציפית.
  3. שימוש בפלאגין DART: מתאר שימוש לדוגמה במנוע פיזיקה של DART בסימולציה של גזיבו. המדריך מורכב מרצף של הפעלות והגדרות אישיות להפעלת הספרייה כעורפית של הדמיית הגזיבו בסביבה לדוגמה ספציפית.
  4. יצירת פלאגין מותאם אישית: מדריך למשתמש או למפתח חדש במטרה ליצור פלאגין מותאם אישית שמבוסס על מנוע פיזיקה מותאם אישית באמצעות כמה צורות של קובצי תצורה (אפשר גם תבניות לכיתה), ולפתח ממשק בין ה-API של ה-physics Engine API לבין ה-API של הספרייה. אפשר לראות חלק מבדיקות השפיות בסוף המדריך.
  5. שימוש במספר יישומי פלאגין בסימולציה (צריך לדון): מתאר כיצד להשתמש בו-זמנית במספר יישומי פלאגין בזמן הריצה, לצורך סימולציה לדוגמה.

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

לתיעוד API, אפשר להתאים את עצמו לסגנון התיעוד של Google C++ עבור הספרייה הזו. למשל, כל הכיתות חייבות לכלול תיאור ברמת הכיתה. בנוסף, יש לתעד את כל הפונקציות הציבוריות בצירוף תיאור, כל הארגומנטים, וכן ערכים מוחזרים וחריגים אפשריים. זה מועיל שהמחלקות החשובות ביותר (למשל חצים::אחזרוורלד, פיצ'ר וכו') יתועדו תחילה כגישה קלה יותר מלמעלה למטה. בנושא סגנון תיעוד נוסף, דיון בנושא זיהוי חשוב לכיתה במהלך תקופת החיבור של הקהילה.

אבני דרך

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

  • 17 באוגוסט - 13 בספטמבר: חיבורים קהילתיים:

    1. קובעים פגישות לקביעת היקפי פרויקטים ותכנוני הדרכה, בנוסף לציפיות מהכותב ומהמנטורים.
    2. גלו את התמונה הגדולה של קוד המקור של פיזיקה של הצתה.
  • 14 בספטמבר עד 31 באוקטובר: נסחו את המדריכים שצוינו עם חידודים חוזרים בין המנטורים לבין הכותב באמצעות פגישות.

  • 1 בנובמבר עד 30 בנובמבר: כתיבת תיעוד API עבור המחלקות החשובות ביותר והכנת התיעוד באמצעות Doxygen.

  • 1 בדצמבר עד 5 בדצמבר: כתבו את דוח הפרויקט.

  • אחרי GSoD 2020: הייתי רוצה להמשיך להיות בקשר עם Ignition Robotics כדי להמשיך לשפר ולתחזק את היצירות שלי.

הערות סופיות

חשוב לבדוק את קובץ ה-README.md הנוכחי בדף הראשי של Ignition Physics, כיוון שההתקנה הבינארית באמצעות apt-get לא פועלת ב-Ubuntu 18.04. יש לעדכן גם את קטע התקנת המקור בגלל פורמט שגוי.