רובוטיקה היא תערובת ייחודית של מדע וטכנולוגיה המייצרת מכונות המחקות פעולות של בני אדם.
בתחילת שנות ה-2000, 90% מהרובוטים היו במפעלי ייצור מכוניות שהחליפו בני אדם למשימות שחוזרות על עצמן. כעת רובוטים יכולים לשאוב בתים ואפילו לשרת במסעדות.
רובוט מורכב בדרך כלל משלושה סוגי רכיבים; הגוף המכני; השלד החשמלי, ולבסוף מוח שנעשה עם קוד.
רכיבים אלה מאפשרים לרובוט לאסוף נתונים (לעיתים קרובות מחיישנים), לקבל החלטות באמצעות לוגיקה מתוכנתת כדי להתאים התנהגות ולהשלים משימות.
לרובוטים עשויים להיות שלושה סוגים של תוכניות; שלט רחוק (RC), בינה מלאכותית (AI), או היברידי.
תוכניות RC דורשות התערבות של בן אנוש שיכול לתת את אות ההתחלה ו/או אות העצירה לביצוע הקוד לרובוט. תוכניות מורכבות מסוגים שונים של אלגוריתמים, שלכל אחד פונקציה שונה.
מהו אלגוריתם?
אלגוריתם הוא סדרה של שורות קוד שבהן רובוט יכול להשתמש כדי לבצע הוראות מסוימות. זה מתרגם את הרעיונות של המפתח לשפה שמובנת לרובוטים.
אלגוריתמים יכולים לבוא לידי ביטוי בסוגים רבים של סימון, כולל פסאודוקוד, תרשימי זרימה, שפות תכנות, או טבלאות בקרה.
במאמר זה נדון בכמה סוגים נפוצים של אלגוריתמים המשמשים בתוכנות אלה.
סוגי אלגוריתמים המשמשים ברובוטיקה
1. אלגוריתם A* בכל עת
אלגוריתם A* הוא אלגוריתם חיפוש נתיב המשמש למציאת הנתיב האופטימלי ביותר בין שתי נקודות, כלומר בעלות הקטנה ביותר.
לכל זמן A* לאלגוריתם יש עלות זמן גמישה והוא יכול להחזיר את הנתיב הקצר ביותר גם אם הוא מופרע כיוון שהוא מייצר תחילה פתרון לא אופטימלי ולאחר מכן מייעל אותו.
זה מאפשר קבלת החלטות מהירה יותר שכן הרובוט יכול להתבסס על חישובים קודמים במקום להתחיל מאפס.
איך זה עובד?
הוא עושה זאת על ידי יצירת 'עץ' שנמשך פנימה מצומת ההתחלה ועד להפעלת הקריטריונים לסיום מה שאומר שיש נתיב פחות יקר זמין.
רשת דו-ממדית נוצרת עם מכשולים ותא התחלה ותאי מטרה מסומנים.
האלגוריתם מגדיר את ה'ערך' של הצומת ב-f שהוא סכום הפרמטרים g (עלות המעבר מהצומת ההתחלתי לצומת המדובר) ו-h (עלות המעבר מהצומת המדובר לצומת היעד).
יישומים
הרבה משחקים ומפות מבוססות אינטרנט משתמשים באלגוריתם זה כדי למצוא את הדרך הקצרה ביותר ביעילות. זה יכול לשמש גם עבור רובוטים ניידים.
אתה יכול גם לפתור בעיות מורכבות כמו ניוטון-רפסון איטרציה המיושמת למציאת השורש הריבועי של מספר.
הוא משמש גם בבעיות מסלול כדי לחזות תנועה והתנגשות של עצם בחלל.
2. אלגוריתם D*
D*, Focused D* ו-D* Lite הם אלגוריתמי חיפוש מצטברים כדי למצוא את הנתיב הקצר ביותר בין שתי נקודות.
הם, לעומת זאת, הם תערובת של אלגוריתמים A* ותגליות חדשות המאפשרות להם להוסיף מידע למפות שלהם עבור מכשולים לא ידועים.
לאחר מכן הם יכולים לחשב מסלול מחדש על סמך מידע חדש, בדומה לרובר של מאדים.
איך זה עובד?
העבודה של אלגוריתם D* דומה לזו של A*, האלגוריתם מגדיר תחילה f, h ויוצר רשימה פתוחה וסגורה.
לאחר מכן, אלגוריתם D* קובע את ערך g של הצומת הנוכחי באמצעות ערך g של הצמתים השכנים שלו.
כל צומת שכן עושה ניחוש לגבי ערך g של הנוכחי וערך g הקצר ביותר מותאם כערך g החדש.
יישומים
D* והגרסאות שלו נמצאים בשימוש נרחב עבור רובוט נייד ו רכב אוטונומי ניווט.
מערכות ניווט כאלה כוללות מערכת אב טיפוס שנבדקה על רובי המאדים Opportunity ו-Spirit ומערכת הניווט שזכתה ב- DARPA אתגר עירוני.
3. אלגוריתם PRM
PRM, או מפת דרכים הסתברותית, הוא גרף רשת של נתיבים אפשריים המבוססים על שטחים פנויים ותפוסים במפה נתונה.
הם משמשים במערכות תכנון מורכבות וגם כדי למצוא נתיבים בעלות נמוכה סביב מכשולים.
PRMs משתמשים במדגם אקראי של נקודות במפה שבהן מכשיר רובוט יכול לנוע ואז הנתיב הקצר ביותר מחושב.
איך זה עובד?
PRM מורכב משלב בנייה ושאילתה.
בשלב הראשון, מתווה מפת דרכים שמעריכה תנועות אפשריות בסביבה. לאחר מכן נוצרת תצורה אקראית ומחוברת לכמה שכנים.
תצורות ההתחלה והיעד מחוברות לגרף בשלב השאילתה. לאחר מכן השביל מתקבל על ידי א הדרך הקצרה ביותר של דיקסטרה שאילתא.
יישומים
PRM משמש במתכננים מקומיים, כאשר האלגוריתם מחשב נתיב קו ישר בין שתי נקודות, כלומר נקודת ההתחלה ונקודות המטרה.
האלגוריתם יכול לשמש גם לשיפור יישומי תכנון נתיבים וזיהוי התנגשות.
4. אלגוריתם Zero Moment Point (ZMP).
Zero Moment Point (טכניקת ZMP) היא אלגוריתם המשמש רובוטים כדי לשמור על האינרציה הכוללת הפוכה לכוח התגובה של הרצפה.
אלגוריתם זה משתמש בקונספט של חישוב ה-ZMP ומיישם אותו בדרך לאיזון רובוטים דו-פדאליים. שימוש באלגוריתם זה על משטח רצפה חלק מאפשר לכאורה לרובוט ללכת כאילו אין רגע.
חברות ייצור כמו ASIMO (הונדה) משתמשות בטכניקה זו.
איך זה עובד?
התנועה של רובוט מהלך מתוכננת באמצעות משוואת התנע הזוויתי. זה מוודא שתנועת המפרק שנוצרת מבטיחה יציבות יציבה דינמית של הרובוט.
יציבות זו נכמתת לפי המרחק של נקודת האפס (מחושבת על ידי האלגוריתם) בתוך גבולות אזור יציבות מוגדר מראש.
יישומים
ניתן להשתמש בנקודות אפס רגע כמדד להערכת היציבות נגד התהפכות של רובוטים כמו iRobot PackBot בעת ניווט ברמפות ומכשולים.
5. אלגוריתם בקרת דיפרנציאל אינטגרלי פרופורציונלי (PID).
בקרת דיפרנציאל אינטגרלית פרופורציונלית או PID, יוצרת לולאת משוב חיישן כדי להתאים הגדרות עבור רכיבים מכניים על ידי חישוב ערך השגיאה.
אלגוריתמים אלו משלבים את כל שלושת המקדמים הבסיסיים, כלומר פרופורציה, אינטגרל ונגזרת כך שהם מייצרים אות בקרה.
זה עובד בזמן אמת ומחיל תיקונים במידת הצורך. ניתן לראות זאת ב מכוניות ללא נהג.
איך זה עובד?
בקר PID משתמש בשלושה מונחי בקרה של מידתיות, השפעה אינטגרלית ונגזרת על הפלט שלו כדי להחיל בקרה מדויקת ואופטימלית.
בקר זה מחשב ברציפות ערך שגיאה כהפרש בין נקודת קבע רצויה למשתנה תהליך נמדד.
לאחר מכן הוא מחיל תיקון כדי למזער את השגיאה לאורך זמן על ידי התאמה של משתנה הבקרה.
יישומים
בקר זה יכול לשלוט בכל תהליך שיש לו פלט מדיד, ערך אידיאלי ידוע עבור הפלט הזה, וקלט לתהליך שישפיע על הפלט הניתן למדידה.
בקרים משמשים בתעשייה לוויסות טמפרטורה, לחץ, כוח, משקל, מיקום, מהירות וכל משתנה אחר שקיימת עבורו מדידה.
סיכום
אז אלו היו כמה מהאלגוריתמים הנפוצים ביותר בשימוש ברובוטיקה. כל האלגוריתמים הללו מורכבים למדי עם תערובת של פיזיקה, אלגברה ליניארית וסטטיסטיקה המשמשת למיפוי פעולות ותנועה.
עם זאת, ככל שהטכנולוגיה תתקדם אלגוריתמי רובוטיקה יתפתחו להיות מורכבים עוד יותר. הרובוטים יוכלו להשלים יותר משימות ולחשוב יותר בעצמם.
אם נהנית ממאמר זה, הירשם לשבועון של HashDork עדכונים באמצעות אימיילים, שבהם אנו חולקים את החדשות האחרונות של AI, ML, DL, תכנות וטכנולוגיה עתידית.
השאירו תגובה