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

MATLABMATLAB ו-Simulink מדברים חומרה

Deploying to Hardware

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

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

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

  • חומרה "ביתית", כדוגמת Arduino, LEGO ו-RaspberryPI
  • מחשבי זמן-אמת של חברת SpeedGoat
  • מעבדי DSP ומיקרוקונטרולרים של יצרנים שונים
  • מעגלים משולבים (FPGA/ASIC) וכמובן רכיבי System On Chip

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

עבודה עם חומרה זולה Low Cost Hardware

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

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

חברת MathWorks מספקת כיום חבילות הרחבה עבור עבודה עם החומרות הזולות:
Arduino, Raspberry Pi, Lego Mindstorms ורכיבי Mobile כמו Android ו-iOS. חבילות אלה מאפשרות לנו להתממשק אל החומרה באופן מהיר ונוח. בצורה זו איננו צריכים לבזבז זמן בתפעול החומרה, אלא אנו יכולים להתמקד בפיתוח האלגוריתמיקה ולהשקיע בשלב זה את מירב זמננו. כתוצאה מהפופולריות ההולכת וגוברת של עולם ה- Low Cost Hardware, ניתן למצוא אותו במגוון תחומים כגון: רובוטיקה, בקרה, עיבוד אות / תמונה, ראיה ממוחשבת ועוד.

כרטיסי החומרה המובילים בתחום זה הינם:

LEGO MINDSTORMS

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

פיתוח מערכות משובצות מחשב מצריך תהליך שלם המאפשר לנו ליצור סימולציה עבור מערכת הרובוט ולתכנן את מערכת הבקרה. חבילות ההרחבה של MathWorks מאפשרות לנו ליישם את תהליך ה- Model-Base Design (MBD). תהליך זה הינו תהליך מפורט אשר נמצא בשימוש רחב בתעשייה ונפרש עוד מהשלב המחקרי, דרך פיתוח הסימולציה, ייצור קוד בדיקות המערכות השונות ובסיום כמובן הורדת הקוד לחומרה עצמה.

Raspberry Pi

מחשבי-לוח קטנים מבוססי Linux אשר פותחו במטרה להנגיש ולקדם את תחום מדעי המחשב. משפחת כרטיסים זו מכילה את המרכיבים השונים הנמצאים במחשבים רגילים אולם בגרסה פשוטה יותר: מעבד, מעבד גרפי, זיכרון RAM ועוד. ה- Raspberry Pi הינו בעל כוח מחשובי גדול מספיק המאפשר גם לאנשים חובבנים ומתחומים שונים להתקרב לעולם פתרונות ה- Prototyping.

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

Arduino

Arduino הינו מיקרו-בקר העובד בקוד פתוח. עקב הפופולאריות הגדולה שלו פותחו גרסאות שונות במטרה להגדיל את הפונקציונליות שלו. כמו כן, ישנן תוספות מובנות של כרטיסים (Shields) המספקים פונקציונליות מורחבת: חיישנים מפעילים ועוד. ה- Arduino מתאים לעבודה עם קלט ופלט אנלוגי ודיגיטלי. סביבת העבודה לפיתוח הינה מבוססת שפת C. זהו פתרון אופטימלי עבור אפליקציות המצריכות מערכות בקרה ומאפשר לפתח אלגוריתמים, לקמפל ולהוריד לחומרה.
חבילות ההרחבה של MathWorks מאפשרות לנו לתקשר עם המיקרו-בקרים ממשפחה זו באופן פשוט ויעיל, קבלת / שליחת נתונים, עיבוד נתונים, יישום אלגוריתמים מתחומים שונים, פיקוד על מנועים ומפעילים, הצגה וניתוח נתונים על גבי גרפים ועוד.
שתי גישות העבודה העיקריות הינן:
Tethered– המיקרו-בקר מחובר ישירות למחשב. באופן זה ניתן לקבל מידע מהחיישנים, לעבד ולהפעיל אלגוריתמים על הנתונים ולשלוח את הפלטים אל המפעילים.
Embedded– יצירת מערכת משובת מחשב עצמאית (stand alone). המיקרו-בקר מבצע משימות מוגדרות באופן עצמאי ומשמש כחלק ממערכת כוללת: רכב, רובוט, מטוס וכו'.

Feedback