מדריך: לברר מה השתבש¶
עשר דקות עם כלי החקירה על שתי ריצות שנבנו לשם כך, עם תשובה ידועה.
במסך הפתיחה ← לברר מה השתבש (חקירה) (או לפתוח את examples/investigate/heavy_payload.csv
ואת light_payload.csv). אותה משימת רחפן, פעמיים, דרך שלוש משבי רוח: עם מטען של 2.4 ק״ג ועם
1.2 ק״ג. בריצה הכבדה הגלגול יוצא מהערך הרצוי שלוש פעמים; בקלה הוא מחזיק. למה?
(הקבצים נבנו כך שהתשובה ידועה – ראו בסוף.)
1. לראות¶
- מסתכלים על הפס שמעל הגרפים: ארבעת שלבי הריצה ושלושה דגלים אדומים – Motor3 שטוח בגבול שלו, ב-AUTO. מעבר עכבר על אחד; בריצה הקלה (בוחרים אותה בפס) אין אף אחד. שמים Roll ו-DesRoll של הריצה הכבדה בגרף. שלוש קפיצות, בערך ב-38, 63 ו-91 ש׳.
- קליק ימני על Mode ברשימת הסיגנלים ← רצועה בכל הגרפים בלשונית: מצב הטיסה מתחת לכל גרף. מעבר עכבר על הרצועה: המצב שם והמקטע שלו. שלוש הקפיצות ב-AUTO.
2. לתת שם¶
d(שני סמנים) ומקיפים את הקפיצה הראשונה (בערך 38.4 – 39.3 ש׳).- בסרגל שמעל הקטע: מצא דומים. לוח החקירה נפתח עם תנאי שכבר נכתב מהבחירה, על הסיגנל הכי
חריג בתוכה (לא משנה איזה גרף פעיל): בערך
Roll > 9.86. כותבים אותו פשוט:abs(Roll - DesRoll) > 5, בשם שגיאת גלגול. המספר מופיע תוך כדי הקלדה: 3 מקטעים (כולם בריצה הכבדה – מעבר עכבר על המספר: 0 בקלה). - שמירה. המקטעים מוצללים בגרפים. קליק על השם, או
]/[, עובר מאחד לבא.
3. להסתכל על כולם¶
- מתחת לרשימה: המקטעים של שגיאת גלגול – טבלה, שורה לכל מקטע. בוחרים Roll, max: בערך אותו דבר כל פעם.
- יחד בלשונית חדשה: שלושת המקטעים של הסיגנל זה על זה, מיושרים להתחלה. קודם בוחרים Motor3 בטבלה ולוחצים שוב: מנוע 3 עומד על 2000 (הגבול שלו) בכל אחד.
- מה שונה בפנים: Roll, Vibe_Z, Motor3 ו-Wind רחוקים מהרמה הרגילה שלהם בתוך המקטעים. שונה – עוד לא סיבה.
4. מה בא קודם¶
- קליק על השורה של המקטע הראשון (שני הסמנים עליו), ואז מה השתנה? בסרגל.
- החיפוש הוא בכל הסיגנלים של heavy_payload.csv: הקובץ של האירוע, לא רק מה שעל הגרפים. הסדר: Wind (בערך −0.44 ש׳), Vibe_Z (−0.3), Motor3 (−0.22), Motor1, Roll (−0.02). הקווים המקווקווים בגרפים הם הרגעים האלה. (Battery_V זז עם הזרם של המנועים.) מתחת לכל סיגנל: הריצה הקלה באותו זמן. Wind, Vibe_Z ו-Motor3 עולים גם שם; Roll: בלי שינוי. כלומר המשב ותגובת המנוע לבדם לא מספיקים – שלב 12 מראה מה שונה. בלוג עם הרבה סיגנלים: מקלידים בסינון, או מוציאים שורה או קבוצה שלמה ב-× שלה (הקווים המקווקווים יוצאים איתה).
- מסמנים Motor3 ו-Roll ← השהיה בין שני המסומנים: Roll מגיב בערך 120 ms אחרי Motor3. הצג מיושר מזיז את Roll בגרף הפעיל כך ששתי הצורות נפגשות.
5. לבדוק מול הריצה השנייה¶
- שמים את Motor3 של הריצה הקלה ליד זה של הכבדה: אותם משבים, אבל מנוע 3 נשאר מתחת ל-2000 – יש לו
מרווח.
Motor3 > 1990כתנאי: 3 מקטעים בכבדה, 0 בקלה. - ריצות × תנאים (מתחת לתנאים): שורה לכל ריצה – Payload_kg (2.4 / 1.2, נמצא לבד: יש לו ערך אחד לאורך כל הריצה) – ועמודה לכל תנאי: שגיאת גלגול 3 / 0, רוויה של מנוע 3 3 / 0. קליק על 3: הריצה הכבדה במקטע הראשון שלה.
5½. שגיאות והטיסה הבאה¶
- שני קווים בגרף (X של מחשב הטיסה ליד ה-X האמיתי; אחד לכל גרף ב-▾ שליד הצגה בגרף מכניס סט כזה): ⋯ ← שגיאה בכל גרף עם שני קווים פותח את השגיאות עם RMS, השגיאה הגדולה ביותר ומתי, ואת מצב הטיסה שבו היא הכי גרועה כשיש כזה שבולט.
- שומרים תבנית תוך כדי חקירה: היא שומרת את התנאים. פותחים אותה על הקובץ של הטיסה הבאה, ו-ריצות × תנאים סופר אותם שם מיד.
6. לכתוב את זה¶
- ב-Inspector נותנים להערות סטטוס: הרוויה – תקלה, ניחוש שלא החזיק (למשל "הסוללה צונחת קודם") – השערה שנפסלה. כל אחת שומרת את התצוגה שבה נמצאה (⌖).
- לוח החקירה ← הצעדים עד כה: מה עשית, לפי הסדר. מורידים סימון ממה שהדוח לא צריך.
- לוח הדוח ← לכלול את החקירה ← תצוגה מקדימה: ממצאים עם הגרפים שלהם, ההשערה שנפסלה, הצעדים, התנאים לכל ריצה ואיך לשחזר – ואחריהם הגרפים שלך.
התשובה: המשב דורש יותר דחף ממנוע 3; עם המטען הכבד הוא כבר קרוב לגבול, נכנס לרוויה, והגלגול לא מוחזק – כ-0.1–0.15 ש׳ אחר כך. המטען הקל משאיר מרווח, ואותם משבים לא עושים כלום. מה הכלים נתנו: איפה (התנאי), כמה פעמים (3 מתוך 3 משבים, רק בכבדה), מה היה שונה (מנוע 3 בגבול), ובאיזה סדר (רוח ← רעידות ← רוויה ← גלגול).
איך הקבצים נבנו¶
python tools/make_investigation_demo.py כותב אותם מחדש. כל משב נבנה בסדר הזה: רוח, רעידות 0.1 ש׳
אחריה, רוויה של מנוע 3 0.1 ש׳ אחרי זה (רק בכבדה), והגלגול עונה על מה שהמנוע לא נתן 0.15 ש׳ אחר כך.
שום דבר אחר בקבצים לא קשור לשגיאת הגלגול.