עושים קצת סדר בבלגן הנתונים עם Data Engineering

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

החל מגרסה 2.8 של ArcGIS Pro נוסף סרגל הכלים של data engineering. הסרגל מביא עימו אפשרות סידור נתונים רבות, לצד פאנל תצוגה נוח לעבודה, שיכול לשפר תהליכי עיבוד נתונים. בבלוג זה נסקור את האפשרויות השונות, שמציע הסרגל ואיך הוא יכול לסייע למשתמשי ArcGIS Pro בעבודתם היום יומית. תצוגת Data engineering כוללת פאנל עבודה, שבו אנו יכולים לבחון את הנתונים הטבלאיים, וסרגל כלים דינמי.

נתחיל מפאנל העבודה:

פאנל העבודה יוצר למשתמש תצוגה על מאפייני השכבה – כמה שדות היא כוללת ומאיזה סוג, כמה ישויות קיימות בה, והאם יש ישויות נבחרות (selected). בנוסף, מתוך הפאנל יש גישה מהירה ל Attribute table  ול-Fields.

מתוך פאנל העבודה, לצד כל שדה יש אפשרות ליצור סימבולוגיה, גרפים וגישה מהירה (נוספת) לטבלת המאפיינים.

הסימבולוגיה המהירה מותאמת לפי סוג השדה- שדות נומריים יקבלו  סימבולוגיה הדרגתית (Graduated colors) ערכים טקסטואליים יקבלו סימבולוגיה לפי קטגוריות (unique values).

כפתור ליצירה מהירה של גרפים יצור עבור אותו שדה גרף עמודות ,ויפתח את חלון עריכת הגרפים.
במידה ואתם מעוניינים בסוגי גרפים נוספים ניתן ע"י לחיצה על מקש ימני בשדה, תחת האפשרות של "Create chart" , לראות המלצות לסוגי גרפים המתאימים לסוג השדה. גם הבחירה באחד הגרפים האחרים תפתח את חלון עריכת הגרפים. החלון מאפשר לעצב את הגרף, ליצור תבניות עיצוב ולערוך את שמות התגיות בגרפים שלכם – ממליצה לכם בחום לחקור את החלון, ולשחק עם האפשרויות השונות בעיצוב הגרפים. את הגרפים ניתן לייצא כקובץ תמונה ובכך לשלב אותם במצגות ובדוחות.

המשתמש יכול לבצע ניתוח סטטיסטי על השדות. בלחיצת כפתור אחת אפשר ליצור ניתוח על כלל השדות ע"י לחיצה על הכפתור "add all fields and calculate", אשר נמצא במרכז פאנל העבודה, או אם רוצים חישוב לשדות ספציפיים ניתן להוסיף אותם ע"י לחיצה על מקש ימני על השדה ובחירה באפשרות " add to statistics and calculate”. חישוב טבלאות עם כמות גדולה של שדות ורשומות עשוי לקחת זמן, ולכן מומלץ לקחת זאת בחשבון אם בוחרים בהצגת כל השדות.

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

Geoprocessing tools

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

כעת נסקור את הקטגוריות בסרגל הכלים הדינמי של data engineering:

Clean

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

Construct

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

Integrate

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

Format

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

אל הכלים אפשר להגיע מתוך הסרגל הדינמי בלשונית data engineering, או מתוך הפאנל ע"י לחיצה על מקש ימני כאשר עומדים על אחד השדות

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

Delete Field – Clean

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

 Transform Field – Construct

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

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

טיפ: אם טווח הערכים החדש אינו נוח למשתמש (אם נסתכל בדוגמה, ערך המינימום החדש הוא 5.038- ולרוב המשתמשים הוא לא יהיה ברור כערך הנמוך ביותר…) ניתן לשמור על התפלגות הערכים אבל להגדיר להם טווח ערכים חדש בעזרת הכלי standardize field

 Summarize within – Integrate

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

Transpose Fields – Format

כלי אשר לוקח שורות בטבלה והופך אותן לשדות בטבלה חדשה (standalone table). כלי זה שימושי כאשר הטבלה או feature class מאחסנת ערכים בשמות שדות. כלי זה מאפשר לסדר את שמות השדות בהתאם לנתונים (data values) המתאימים להם בשורה.


לסיכום…

עבודה עם סט נתונים מסודר יכולה להביא ליתרונות רבים, מבחינת יעילות, דיוק ותובנות. חישוב סטטיסטיקות ראשוניות על סט הנתונים עוזר לקבל מסקנות על תקינות הנתונים. כלי ה  data engineer בפרו מרכזים כלים קיימים למקום אחד ומקלים על העבודה (ואפילו יכולים להפוך אותה למהנה!).

מעוניינים לחקור עוד על data engineering ב- ArcGIS Pro?

וובינר קצר שיעזור לכם להתמצא: https://www.bigmarker.com/systematics/Data-Engineering

פוסט בבלוג  How to get started with Data Engineering (esri.com)

הפקת דוחות ביקורת איכות – מעולם לא היה קל יותר

הפקת דוחות ביקורת מכילה מספר שלבים:

  1. סימון המידות והטורלנסים ב"בלונים".
  2. הוספת מידע נוסף עבור ביקורת האיכות לכל "בלון".
  3. עיצוב דו"ח.
  4. העתקת המידע מהשרטוט לדו"ח הביקורת.
  5. הזנת התוצאות ובחינה האם המידה תקינה או אינה תקינה ("עומד" בטולרנס/תנאים אחרים).

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

אם אתם מעוניינים לשפר את תהליכי בקרת האיכות שלכם ובמיוחד אם אתם מפתחים מוצרים הנדרשים לעמוד בתקני בטיחות מחמירים, כדאי להכיר את פתרון SOLIDWORKS INSPECTION

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

להלן מספר שלבים שניתן לבצע בעזרת SOLIDWORKS INSPECTION:

הוספת "בלונים" עבור מידות/טולרנטים גיאומטריים, כיתובים וכדומה ישירות מקובץ השרטוט, או בקובץ PDF:

כל "בלון" מכיל את כל הנתונים הרלוונטיים וניתן להוסיף לו נתונים נוספים. לדוגמה:

הנתונים שמוזנים האופן אוטומטי לבלון מספר 1 (חישוב מידה מותרת מחושבת אוטומטית ע"י הטולרנס שמופיע בשרטוט):

כמו כן, ניתן להוסיף נתונים נוספים כמו לדוגמה:

כלי מדידה, הערה, הגדרת חשיבות של המידה, סוג פעולת עיבוד, עוד.

דוגמאות נוספות של קדח, הברגה וטולרנס גיאומטרי:

לאחר קבלת הבלונים, הוספת נתונים רצויים (במידת הצורך), ניתן בלחיצת כפתור לקבל דו"ח ביקורת מוכן להזנת נתונים.

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

קובץ האקסל מופק אוטומטית עם אפשרות להזנת מידות וקבלת חיווי מיידי (אדום/ירוק) של המידה הנמדדת:

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

כמו כן, ניתן להזין את תוצאות הבדיקה בעזרת כלים ממוחשבים כמו קליבר שמחובר בעזרת כבל למחשב או קובץ שמופק ע"י תוכנת ה CMM.

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

לסיכום:

SOLIDWORKS INSPECTION מאפשר לנו להתרכז תכנון, ולבצע את משימות הכנת דוחות הביקורת באופן מהיר, מדויק וכמעט אוטומטי.

לחצו כאן להורדת שרטוט עם בלונים וקובץ ביקורת איכות שהופקו באופן אוטומטי ע"י SOLIDWORKS INSPECTION.

*

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

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

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

בשבוע שעבר מעל 100 מתכננים מכניים צללו עמוק לתוך עולם הסימולציות בוובינר בנושא טיפים וטריקים ב- SOLIDWORKS SIMULATION.

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

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

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

השילוב הלינארי מתאים לעומסים התלויים זה בזה הפועלים בו זמנית, בעוד שהשילוב של RMS מתאים לעומסים הפועלים באקראית זה מול זה, כמו למשל – בלימה פתאומית ופניה חדה. מה יקרה? כמה כל אחד תרם לכשל?

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

כדי ללמוד כיצד מבצעים את זה ב-SOLIDWORKS SIMULATION
מוזמנים לצפות בוובינר Tips & Tricks simulation בצפיה ישירה

חברת DBOX מציעה פתרונות אוטונומיים לרחפן בתוספת AI מובנת

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

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

DBOX מנצלת את העוצמה של תוכנת SOLIDWORKS ופלטפורמת 3DEXPERIENCE לשיתוף פעולה מלא ביו צוות הפיתוח וצוות ההנדסה וליעילות בתהליך התכנון. המעבר החלק מרעיון התכן למידול ומשם ישירות לייצור, מאפשר ייעול תהליך הפיתוח וייצור עם מינימום תקלות.

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

איך חברת Crow מפתחת פתרונות אבטחה מתקדמים וחכמים בעזרת Altium Designer

Crow Electronic Engineering Ltd הינה חברה ישראלית שנוסדה ב-1977 ומתמחה בפיתוח פתרונות אבטחה מתקדמים עבור האבטחה העולמית וכן עבור שווקי האוטומציה הביתית.

מגוון מוצרי החברה כולל מערכות אלחוטיות ופתרונות חכמים לבית נמכר בכל רחבי העולם.

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

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

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

יהודה ארד, R&D HW Design Manager בקבוצת עורב מספר:

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

  • ספריית הרכיבים מתממשקת ממנה ישירות לבסיס המידע במערכת Priority
  • ניתן לייבא ולייצא מודלים בתלת-מימד
  • ניתן לשתף קבצים עם גורמים חיצוניים תוך שימוש ב- viewer

אנו שמחים על הבחירה המוצלחת שלנו – נוחות השימוש והממשקים המחוברים מייעלים את העבודה ומקצרים מאוד את זמן העריכה".

יהודה ארד, R&D HW Design Manager
קבוצת עורב 

Manufacturer Part Search – Art of Schematic

פתרון ייחודי ומובנה בתוך תוכנת Altium Designer שדרכו ניתן לקבל זמינות למיליוני רכיבים בעלי מודלי – Symbol+Footprint+3d  עם תצוגה מקדימה, פרמטרים טקסטואליים, זמינות הרכיבים אצל הספקית, כמות אצל הספקית, מחיר ועוד.

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

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

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

לקוחות רבים בכל העולם משתמשים בו על בסיס יום יומי וכל הרכיבים שקיימים בו מתעדכנים ומועלים אך ורק על ידי צוות מוסמך של חברת Altium וכמובן שכלל הרכיבים עומדים בתקינת IPC.

כיצד עובדים עם הכלי

כדי לפתוח את החלונית Manufacturer Part Search, בחרו ב-View » Panels » Manufacturer Part Search מהתפריט הראשי ב-Altium Designer או באפשרות Manufacturer Part Search מתפריט PANELS בפינה הימנית התחתונה של המסך הראשי:

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

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

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

מקרה מס' 1: אתה יודע את המק"ט הנדרש. כל שנדרש הוא להקיש את מספר המק"ט בשדה החיפוש והקשה Enter. לדוגמה, 47272-0001:

מקרה מס' 2: אתה מכיר רק את יישום הרכיב. ניתן לבצע חיפוש באמצעות תיאור הרכיב. אם אתה צריך מחבר HDMI צמוד עילי, הזן HDMI SMT בשדה החיפוש כדי למצוא את כל הרכיבים הרלוונטיים. אפשרויות הסינון שנבחרו כעת מוצגות מעל רשימת החלקים וניתן להסירן באמצעות סמל ה-X המשויך כדי לשנות את מסנני החיפוש הפעילים.

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

ניתן לראות רשימה נרחבת של כל הפרמטרים לסינון רכיבים. נסמן את הפרמטרים הדרושים לרכיב הנ"ל.

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

אפשרויות הסינון שנבחרו כעת מוצגות מעל רשימת החלקים וניתן להסירן (באמצעות סמל ה- X המשויך) כדי לשנות את מסנני החיפוש הפעילים.

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

כדי להשוות רכיבים, ציין שאילתת חיפוש או הגדר את הגדרות הסינון כך שתוכל לבחור רכיבים להשוואה. לדוגמה, הזן HDMI בשדה החיפוש. החזק את כפתור ה-Ctrl בתוצאות החיפוש, ולחץ על הרכיבים שברצונך להשוות. לאחר כל קליק, יופיע רכיב חדש באזור  Select Part Details של החלונית.

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

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

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

למידע נוסף צרו איתנו קשר,

תודה שקראתם ונתראה בבלוג הבא,

בן מימון

פיתוח מערכות אוטונומיות: המורכבות, הבינה המלאכותית ומה שבניהם

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

רקע                                                                                                              

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

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

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

המערכת האוטונומית, לעומת זאת, לומדת ומסתגלת לסביבה הדינאמית אשר פועלת בתוכה ומתפתחת ככל שהסביבה משתנה. הנתונים שהיא לומדת מהם ומסתגלת אליהם עשויים להיות שונים ממה שהיא תוכננה ואומנה [2].

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

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

אז איך מערכת אוטונומית (או אוטומטית) עובדת? את תהליך התנהגות המערכת ניתן לחלק ל 4 חלקים עיקריים:

1. חישה (Sensing): המערכת משתמשת בחיישנים כדי לאסוף מידע על הסביבה ועל מצבה הנוכחי, כולל מידע על מיקום, מהירות, תנודות, מרחקים, תנאי מזג אוויר, מכשולים ועוד.

2. שיערוך ועיבוד מידע (Estimation & Perception): המידע שנאסף על ידי החיישנים מעובד על ידי המערכת על מנת להפיק מהם תובנות. לדוגמא, קטלוג ומעקב אחר אובייקטים שזוהו, למשל הולכי רגל, כלי רכב, או מכשולים. דוגמא נוספת הינה היתוך המידע ממספר חיישנים לשערוך המצב הנוכחי של המערכת.

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

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

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

אתגרים ואיך MATLAB ו-Simulink עוזרים?

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

  1. מידול החיישנים והפלטפורמות (חלקי המערכת – רחפנים, רובוטים, מכוניות וכד'): מידול ושילוב של חיישנים כדי לתפוס ולפרש את הסביבה בצורה מדויקת ככל הניתן הינו אתגר לא פשוט. כל חיישן מספק זרמי נתונים ייחודיים שיש למזג יחד על מנת ליצור תובנות למערכת. אלו נעים למשל בין מצלמות, לידאר (LIDAR), מכ"מ (RADAR), GPS, מדי תאוצה, ועוד.
  2. תכן האלגוריתמיקה: אתגר משמעותי נוסף הינו עיצוב אלגוריתמים חזקים של תפיסה וקבלת החלטות אשר יכולים להתמודד עם אי ודאויות גדולות וסביבות דינמיות משתנות. אלגוריתמים אלו חייבים להיות מסוגלים לעבוד בזמן אמת תוך עיבוד כמויות גדולות של מידע, לזהות אובייקטים רלוונטיים, לחזות את התנהגותם העתידית ולקבל החלטות מתאימות להשגת יעדי המערכת תוך הבטחת בטיחות. תנאים אלו מכוונים לעיתים קרובות לשימוש באלגוריתמיקה מבוססת בינה מלאכותית כדוגמת בקר מבוסס למידה עמוקה (Reinforced Learning Controller) או סיווג אוטונומי של מכשולים וציוני דרך ע"י רשת נוירונים (Deep Learning). ישנם כמובן גם אלגוריתמים שאינם מבוססים לחלוטין על AI, כגון לוגיקה עמומה (Fuzzy Logic), בקרים מבוססי מודלים (Model Predictive Control), ועצי חיפוש מונטה קרלו (MCTS) שנותנים מענה טוב לדרישות הגבוהות של מערכות אוטונומיות.
  3. פיתוח סביבת בדיקות מהימנה וסנתוז/שילוב של מידע אמיתי לאימון ובדיקות המערכת: אימות (Verification) ובדיקות של מערכות אוטונומיות מציבים אתגרים מהותיים. שיטות בדיקה מסורתיות לרוב אינן מספיקות בשל המורכבות והשונות של תרחישים בעולם האמיתי. מערכות אוטונומיות חייבות לעבור בדיקות סימולציה מקיפות בסביבות מגוונות עם תנאי קיצון כדי להבטיח את מהימנותן ובטיחותן לפני ההטמעה לחומרה.

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

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

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

להלן כמה מהפתרונות הבולטים והנפוצים:

  • כלים גרפים אינטראקטיביים: כגון Roadrunner & Roadrunner Scenario, המאפשרים ליצור תרחישי נהיגה מציאותיים עבור תעשיית הרכב. כלים אלו מאפשרים לבחון התנהגות של רכבים אוטונומיים ומערכות מתקדמות לנהיגה (ADAS) בתנאים שונים, תוך התחשבות במגוון גורמים כמו מזג אוויר, תנועה וטופוגרפיה. עבור התעשיות האחרות ניתן להיעזר ב – Tracking Scenario Designer אשר מיועד לסנתז מידע עבור אלגוריתמי היתוך הנתונים בצורה קלה ומהירה.
  • מנועים ויזואליים תלת-ממדיים: אלו ממשקים בין Simulink למנועים ויזואליים כדוגמת ®FlightGear ו-®Unreal, המאפשרים ליצור סביבות דינמיות ותלת-ממדיות לבדיקות וניתוח הסימולציות. סביבות אלו הותאמו במיוחד לבדיקות של מערכות אוטונומיות, כגון כלי טיס ללא טיס (UAV) ורובוטים.
  • חיבור לפלטפורמות חיצוניות: ניתן לחבר את המודלים והסימולציות למגוון רחב של פלטפורמות, המפורסמות ביניהן הינן Robotic Operating System (ROS) ו-Functional Mock-up Interface (FMI). חיבור זה מאפשר שיתוף פעולה בין הכלים השונים ויצירת סביבת עבודה אחידה לבדיקות ולסימולציות.

לסיכום,

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

כלים כמו MATLAB ו-Simulink מציעים פתרונות מקיפים להתמודדות עם אתגרים אלו, ומאפשרים למפתחים לתכנן, לדמות ולבדוק מערכות אוטונומיות בצורה יעילה ואפקטיבית. על ידי מינוף היכולות של MATLAB ו- Simulink, מפתחים יכולים להאיץ את מחזורי הפיתוח, לשפר את אמינות המערכות האוטונומיות, ובסופו של דבר להביא פתרונות חדשניים לשוק מהר יותר. ראו דוגמא של פיתוח צוללת אוטונומית. ולמתעניינים, "במידע נוסף" מופיע קישור למאגר הקבצים של הפרויקט להתנסותכם החופשית.

איור 5 – דמו לפיתוח צוללת אוטונומית בעזרת MATLAB. ©MathWorks

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

למידע נוסף

  1. Müller, M., Müller, T., Ashtari Talkhestani, B., Marks, P., Jazdi, N., & Weyrich, M. (2021). Industrial autonomous systems: a survey on definitions, characteristics and abilities. at-Automatisierungstechnik69(1), 3-13. https://www.degruyter.com/document/doi/10.1515/auto-2020-0131/html
  2. Matteson, S. (2019, June 7). Autonomous versus automated: What each means and why it matters. TechRepublic. https://www.techrepublic.com/article/autonomous-versus-automated-what-each-means-and-why-it-matters/