ארכיון
 חלק IV- מציאת עוצמת שדה כדור הארץ בעזרת השק"ק-

 

הטור השבועי של שחר מנדלוביץ

 

 

 

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

 

השיטה שאני מציע היא הטובה ביותר לדעתי למצב בו יש 2 חיישני מרחק צדדיים וניתן להשתמש בבקרתPID  (Proportional Derivative Integral). הנה הצעה לבקרתPID  עם חיישני מרחק, כפי שמימשתי אותה:

 

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

 

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

 

·        החלק הדרוויאטיבי, מטפל בקצב שינוי הזווית ביחס לקיר. אם יש תיקון זווית מהיר, אז תעלה במעט מהירות המנוע החלש יותר כדי שהרובוט לא יסטה לכיוון השני, כמו נהג מכונית המסובב את ההגה חזק מידי. חלק זה דואג ל- fine tunning של הנסיעה, שתהיה חלקה יותר, כך שהרובוט לא יחזור מהר מידי למצב ישר, מצב שיגרום למשל לסטייה ימינה אם הרובוט סטה שמאלה קודם לכן. תיקון זה מתקן את השגיאה לפני שהרובוט מגיע למצב הבלתי רצוי. זהו Pre-Error Adjustment.

 

·        ולבסוף: האינטגרל. אינטגרל זה למעשה סוכם את השינויים בזוויות בזמן. אם סכום זה חיובי לדוגמא, אז הרובוט סטה לכיוון מסויים במשך זמן מה ולכן יותר קרוב לקיר מסויים, נניח ימין. אם סטה לכיוון השני, יהיה לדוגמא סכום שלילי ולכן הרובוט יסטה דווקא לכיוון השני – ולפי המידע הזה יבוצע התיקון. חלק זה מתקן את הטעות אחרי שהיא קיימת. כלומר, במקרה והרובוט סטה לצד אחד זמן רב, סכום זוויות זה יהיה גדול מסף כלשהו ויהיה צורך לתקן לאחד הצדדים. כמובן שהרובוט נמצא במצב זה אחרי שהטעות קרתה . אם הרובוט סטה יותר מידי לצד כלשהו, אז ללא  התיקון האינטגרלי הרובוט אמנם לא היה נתקע בקיר (בתקווה), אך עלול להיות
מ-א-ד קרוב לקיר - מצב לא רצוי בכלל. תפקיד החלק האינטגרלי הוא למעשה לשמור על "אי-סטייה" מהקו המרכזי.

 

 

בקרוב נראה גם קוד ממש לשימוש באסמבלי PID מלא, קצר ומאד יעיל עם אנקודרים וכמובן - הסבר.

 

להתראות,  שחר

 

 

 

 




יש לך שאלה ואין לך את מי לשאול? פורום הרובוטיקה לעזרתך!

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

כל הזכויות שמורות לאסף פוניס, גיא יונה ואלי קולברג ©
אין להעתיק תכנים מאתר זה ללא רשות בכתב ממנהלי האתר

אתר זה נצפה באופן מיטבי ברזולוציית 1024X768