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

מימון של שליטה דיגיטלית עבור הרובוטיקה

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

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

למה VHDL לשליטה רובוטית?

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

השוואה עם Verilog ו- SystemVerilog

בעוד ורדיולוג ומערכתVerilog משמשים גם בעיצוב דיגיטלי, מיפוי הנמל המפורש של VHDL, משימות אות נוכחיות וקיימות, ומודולריות מבוססות החבילה לעתים קרובות מקלות על ניהול עיצובים היררכיים מורכבים שליטה.עבור מערכות בקרה רובוטיות גדולות המשלבות ממשקים מרובים, פרוטוקולי תקשורת (למשל, SPI, I2C, UART, ו-LSquareatives) יכולות לשמור על תכונות רלוונטיות מתקדמות של VHDL.

High-Level Synthesis (HLS) לעומת Hand-coded VHDL

כלי סינתזה ברמה גבוהה כמו Xilinx HLS מאפשרים למעצבים לכתוב אלגוריתמים שליטה ב C / C++ באופן אוטומטי לייצר קוד HDL.זה יכול להאיץ את הפיתוח, אבל הקוד שנוצר לעתים קרובות חסר אופטימיזציה עתיר הנדרש עבור מגבלות תזמון קיצוניות. Hand-coded VHDL נותן את מהנדס שליטה מלאה על עומק צינורות, סיבולת המדינה, ניצול משאבים - מפגש קריטי עבור מחזורי בקרה הדוקים תחת 1 מגה פיקסל אופיינית עבור ביצועים.

מערכת בקרת מבוססת VHDL

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

מכונות ממשלתיות עבור משימות רובוטיות

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

-- Example: Simple FSM for motor brake control
type state_type is (IDLE, BRAKE_ON, BRAKE_OFF);
signal current_state, next_state : state_type;

process(clk, reset)
begin
 if reset = '1' then
 current_state <= IDLE;
 elsif rising_edge(clk) then
 current_state <= next_state;
 end if;
end process;

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

עיצוב נתונים לשליטה Algorithms

הנתונים של בקר רובוטי מבצעים פעולות קידוד כגון תוספת, תת-קרקעי, ריבוי וחלוקת חישובים של חוק בקרה.לדוגמה, בקר PID דורש שגיאה מחשוב, מונח יחסי, מונח אינטגרלי (תיקון), ומונח נגזר. VHDL's המספרי std Library מספק חתימה ופעולות לא מסומנים כי המפה ביעילות FPGASPs.

צינורות קפדניים של הנתוניםפטים חיוני לשבור נתיבים משולבים ארוכים שיכולים להגביל את תדירות השעון.עבור לולאה בקרה טיפוסית עם 10-20 פעולות ⁇ , עומק צינורות של 3-5 שלבים הוא נפוץ.קוד VHDL צריך לרשום תוצאות ביניים בין שלבים כדי לענות מגבלות תזמון. גישה זו מניבה עיצוב שיכול לרוץ במאות מגה-הרץ, ומאפשרת שערי בקרה בטווח העצום - תובעני יישומים מהירים כמו רובוטים בקרת מיקום גבוה.

עיצוב זרימה: מ- Specification ל-FPGA Deployment

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

1. מפרט

הצעד הראשון הוא להגדיר את דרישות מערכת הבקרה: שיעור הדגימה, מספר אקסקסים, סוגי חיישן, ממשקי אקטוטור (למשל, PWM, פלט אנלוגי), ואלגוריתם בקרה הרצוי (PID, Lead-lag, fuzzy וכו ') מפרטים אלה מניעים את ההחלטות האדריכלות.

2.RTL Coding

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

3.סימציה

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

4.סינתזה ומימוש

לאחר סימולציה, קוד RTL מסונתז לתוך רשימה ברמת השער המיועד למכשיר FPGA ספציפי. Synthesis כלים כמו Xilinx Vivado או Intel Quartus Prime אופטימיזציה עבור אזור, מהירות, או כוח המבוסס על מגבלות משתמש. תזמון ניתוח מבטיח כי כל הנתיבים לעמוד תקופת השעון הנדרשת, במיוחד עבור לולאת מקום הבקרה.

5.התראות הארדרה

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

מפתח VHDL בונה עבור הרובוטיקה

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

  • (FLT:0) תוצאות עם רשימת רגישות: FLT:1 שימש מודל לוגיקה ו FSMs. רשימת הרגישות צריכה לכלול שעון ואת אותות איפוס מסונכרוני.
  • (FLT:0)Generics:FLT:1 מאפשר פרמטר של התנהגות מודול, כגון רוחב אוטובוסים, גבולות נגד או PID coefficients, המאפשר שימוש חוזר על פני פלטפורמות רובוטיות שונות.
  • (FLT:0) ,Packages and Components:IRLT:1 ,חבילות מטביעות פונקציות נפוצות והגדרות סוג; רכיבים (או מיידיות ישירה עם מיפוי נמל) לקדם עיצוב מודולרי.
  • (FLT:0) מפעילי אמפית עם מספרד: FLT:1 Enables חתום ופעולות לא חתומות המפות לחומרה יעילה.
  • (FLT:0) Record סוגים: FLT:1 שימושי עבור אותות הקשורים לקבוצה, כגון ערכת נתונים חיישן (valid, זווית, מהירות).
  • (ב) ויקרא י"א: ויקרא י"א): "וְלֹאמֶר לִיאֶת אִם אִם עַמֶּה הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא

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

-- Simplified PWM generator (single channel)
process(clk)
 variable count : integer range 0 to PERIOD-1 := 0;
begin
 if rising_edge(clk) then
 if count < DUTY_CYCLE then
 pwm_out <= '1';
 else
 pwm_out <= '0';
 end if;
 if count = PERIOD-1 then
 count := 0;
 else
 count := count + 1;
 end if;
 end if;
end process;

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

מחקר מקרה: עיצוב בקר PID ב VHDL

כדי להמחיש את היישום המעשי של VHDL רובוטיקה, לשקול את העיצוב של בקר דיגיטלי PID עבור מערכת בקרת מהירות מוטורית DC. אלגוריתם PID קובע את תפוקת הבקרה U(t) כמו:

U = Kp * e + Ki * ⁇ e dt + Kd * de / dt

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

  • (ב) ⁇ :0) , ⁇ : ⁇ : ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (FLT:0) Pathential Patheur: 1FLT: 1 Multiplies את השגיאה על ידי Kp (קבוע על ידי קבוע נקודת קבוע) השתמש במשמרת-דרד או בלוק DSP ליעילות.
  • (ב) ,0) נתיב אינטגראלי: FLT:1 מאמת את השגיאה לאורך זמן, מוגבל על ידי קלפי אנטי-windup. רוחב האקומולטור חייב להיות גדול יותר מאשר אוטובוס השגיאה למנוע זרימה.
  • (ב) ⁇ :0) ,[דרוש מקור]: [ה] מראיין: [ה], [ה], [ה], הוא משווה את ההבדל בין טעות נוכחית לבין טעות קודמת, כפי שהפך ל"קד" (Kd).
  • (ב) ,0) ,התמ"ל ו"מ"ל: "הוסיף את שלושת המונחים ומגביל את התפוקה לטווח PWM (למשל 0 עד 1023).

ניתן לצפות בכל העיצוב בקצב גבוה, עם צינורות מוכנס בין השלבים האנתרופולוגיים כדי לפגוש את התזמון. עבור לולאה 1 kHz שליטה, תדירות שעון של 10 MHz או יותר אופייני, משאיר שולי בשפע עבור משימות אחרות. pID coefficients (Kp, Ki, Kd) ניתן לאחסן כמו גנרים או רישומים כי הם מעודכנים על ידי המעבד הראשי באמצעות ממשק זיכרון ממומש.

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

בדיקות ואימות

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

  • (FLT:0) סימולציה ברמה גבוהה: FLT:1 כל מודול (למשל, גנרטור PWM, קודר פעמוני, PID) נבדק באופן עצמאי עם בדיקות מכוונת אקראיות.
  • (FLT:0) סימולציה של סימולציה: FLT:1, הבקר העליון ברמה גבוהה נבדק עם מודל צמחי מדמה.לדוגמה, מודל ברמה גבוהה של הדינמיקה מוטורית לטעון ניתן לכתוב ב VHDL עצמו או במשותף עם כלי אחר.
  • (ב) ,0) אימות קדמוני: 1 לפונקציות קריטיות בטיחות, כלים רשמיים יכולים להוכיח כי אותות לעולם לא מגיעים למצבים לא חוקיים או כי מגבלות התזמון תמיד נותנותנות.
  • (FLT:0) Hardware-in-the-loop (HILIR): 1FLT:1 ה-FPGA מחובר לסימולטור בזמן אמת (למשל, מ- Opal-RT או National Instruments) המבודד את הדינמיקה הרובוטית, ומספק סביבת מבחן ריאלית.
  • (FLT:0) אימות מבוסס אספקט: FLT:1 ⁇ ⁇ ב VHDL (באמצעות PSL או VHDL-2019) לבדוק את השחלות במהלך הסימולציה, כגון "זרם מוטורי לא צריך לעלות על מקס limit".

אימות Robust מקטין את הסיכון לכישלון בתחום ומבסס את האמון באמינות העיצוב.

משאבים ופניות

עבור מהנדסים המעוניינים להעמיק את הידע שלהם על VHDL עבור רובוטים, המשאבים הבאים הם בעלי ערך:

  • (FLT:0)Xilinx FPGA Documentation and Design HubsFLT:1 - מדריכים רשמיים עבור סינתזה VHDL ומימוש מכשירים שיlinx.
  • (FLT:0)IEEE Xplore: "שליטה מבוססת-אמת של FGA עבור הרובוטיקה"(אנ') 1 - אוסף של מחקרים על ארכיטקטורות שליטה FPGA.
  • (FLT:0)Digilent VHDL TutorialsveFLT:1) - תרגילים מעשיים ללמידה VHDL באמצעות בויס או Nexys FPGA לוחות.
  • (ב) ⁇ :0) Intel Quartus Prime HandbookFreaLT:1 , בהתייחסות לזרימת עיצוב VHDL באמצעות Intel FPGAs.

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

מסקנה

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