תוכן עניינים:

כיצד לכתוב כונן פשוט עבור FRC (Java): 12 שלבים (עם תמונות)
כיצד לכתוב כונן פשוט עבור FRC (Java): 12 שלבים (עם תמונות)

וִידֵאוֹ: כיצד לכתוב כונן פשוט עבור FRC (Java): 12 שלבים (עם תמונות)

וִידֵאוֹ: כיצד לכתוב כונן פשוט עבור FRC (Java): 12 שלבים (עם תמונות)
וִידֵאוֹ: סמינר סימפ״ל 22/4 - הרצאת ״קורס Java למתחילים״ של קבוצת Artemis 3083 2024, יולי
Anonim
כיצד לכתוב מסלול פשוט עבור FRC (Java)
כיצד לכתוב מסלול פשוט עבור FRC (Java)

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

שלב 1:

תמונה
תמונה

פתח את Eclipse

שלב 2: צור פרויקט רובוט חדש

צור פרויקט רובוט חדש
צור פרויקט רובוט חדש
צור פרויקט רובוט חדש
צור פרויקט רובוט חדש
צור פרויקט רובוט חדש
צור פרויקט רובוט חדש
צור פרויקט רובוט חדש
צור פרויקט רובוט חדש
  1. לחץ לחיצה ימנית על סייר החבילות, לחץ על חדש ואז על אחר.
  2. גלול מטה עד שתראה פיתוח רובוט Java של WPILib (אם אינך רואה אותו אין לך את משאבי wpilib מותקנים.)
  3. לחץ על פרויקט רובוט ג'אווה
  4. לאחר מכן מלא את שם הפרויקט ולחץ על סוג הפרוייקט המבוסס על פקודות רובוט. (החבילה כבר אמורה להתמלא ואותו עולם עם סימולציה).

שלב 3: צור/מלא את RobotMap

צור/מלא את RobotMap
צור/מלא את RobotMap
צור/מלא את RobotMap
צור/מלא את RobotMap

צור משתנים אחרונים המכילים את מספר יציאות הטאלון השונות

שלב 4: מחק פקודה לדוגמה ודוגמת מערכת משנה

מחק דוגמה לפקודה ותת -מערכת לדוגמה
מחק דוגמה לפקודה ותת -מערכת לדוגמה
מחק דוגמה לפקודה ותת -מערכת לדוגמה
מחק דוגמה לפקודה ותת -מערכת לדוגמה

שלב 5: צור DriveTrainSubSystem

צור DriveTrainSubSystem
צור DriveTrainSubSystem
צור DriveTrainSubSystem
צור DriveTrainSubSystem
צור DriveTrainSubSystem
צור DriveTrainSubSystem
  1. צור קונסטרוקטור חדש בתת מערכת ההנעה החדשה שנוצרה. לאחר מכן צור אובייקטים של CANTalon המתאימים לטלקים במערכת ההנעה.
  2. צור RobotDrive בשם Drive
  3. סמן את האובייקטים האלה בבנאי (הקפד להשתמש בערכים עבור הטלקים שיצרנו במפת הרובוט). עבור רובוט דרייב נשתמש בבונה המשתמש 4 בקרי מנוע (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. לאחר מכן צור שיטת arcadeDrive () עם שני משתני קלט כאשר x הוא קדימה ואחורה ו- y ימינה ושמאלה. בפנים תתקשר ל- drive.arcade עם הערכים קדימה וסובבים
  5. לאחר מכן שנה את initDefaultCommand () כך שיכיל את השורה setDefaultCommand (new DriveTrainCommand ());.
  6. עדיין אל תדאג מכל השגיאות.

שלב 6: צור את CommandTrainCommand

צור את הפקודה DriveTrainCommand
צור את הפקודה DriveTrainCommand
צור את הפקודה DriveTrainCommand
צור את הפקודה DriveTrainCommand
צור את הפקודה DriveTrainCommand
צור את הפקודה DriveTrainCommand
צור את הפקודה DriveTrainCommand
צור את הפקודה DriveTrainCommand
  1. ראשית התחל על ידי מעבר לתפריט בו השתמשנו ליצירת תת -המערכת והרובוט מקרין את עצמו (זו הפעם האחרונה שאני אראה את הצעד האמיתי הזה בשלבים הבאים אגיד רק כדי לבצע פקודה או לבצע תת -מערכת ואתה מניח שהיא נמצאת בתפריט זה.) לחץ על פקודה ומלא את שם המחלקה ב- DriveTrainCommand (אם אתה משנה את שמות הקבצים האלה לא יכול להיות שהם יהיו זהים).
  2. ב- DriveTrainCommand החדש תראה שיש 6 שיטות אחת היא הקונסטרוקטור וחמש האחרות הן חלקים מהקוד שהרובוט יקרא לו כשהפקודה פועלת. אנו יודעים מה עושה הקונסטרוקטור כדי להסביר אתחול, ביצוע, סיום, סיום והפרעה. אתחול נקרא פעם אחת בכל פעם שהפקודה נקראת, שיטת הביצוע נקראת ברציפות עד שהפקודה מסתיימת, הנגרמת על ידי סיום כאשר השיטה isFinished מחזירה true הפקודה תפסיק לפעול, שיטת הסיום נקראת פעם אחת לאחר סיום הפקודה שיטה נקראת, והנתק נקרא כאשר משאבי הפקודות משמשים פקודה אחרת והפקודה תסתיים (מבלי לקרוא לשיטת הסיום).
  3. ראשית ב- DriveTrainCommand בבנאי עליך להוסיף את השורה הדרושה (דורשת (Robot. DriveTrainSub)) הודעה כי ה- DriveTrainSub אינו זהה לשם מערכת המשנה וזה בכוונה.

שלב 7: קפוץ לרובוט

קפוץ לרובוט
קפוץ לרובוט
קפוץ לרובוט
קפוץ לרובוט
קפוץ לרובוט
קפוץ לרובוט
קפוץ לרובוט
קפוץ לרובוט
  1. לאחר מכן אנו הולכים לקפוץ לשיעור הרובוטים
  2. אז אנחנו הולכים לשנות את הקו (public static final exampleSubsystem exampleSubsystem = exampleSubsystem חדש ();) ל- (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem ();) שימו לב שהשם הפרטי לאחר הסופי הוא זהה לשם תת המערכת והשם שם אחרי חדש שים לב גם ש- DriveTrainSub זהה לשם ששמנו בשלב האחרון שלנו ושאינו זהה לשם תת המערכת (עליך להיות בעל אובייקט (DriveTrainSub) שאינו זהה לתת המערכת שֵׁם).
  3. לאחר מכן ייבא את DriveTrainSubSystem שלנו.
  4. לאחר מכן נסיר את השורה (chooser.addDefault ("ברירת מחדל אוטומטית", דוגמא חדשה ());)
  5. לאחר מכן הסר את הייבוא שאינו בשימוש.
  6. לאחר מכן שמור.

שלב 8: חזור אל DriveTrainCommand

חזור אל DriveTrainCommand
חזור אל DriveTrainCommand
  1. ייבוא רובוט (השני בתמונה)
  2. לאחר מכן שמור

שלב 9: עבור אל DriveTrainSub

עבור אל DriveTrainSub
עבור אל DriveTrainSub
  1. ייבא את DriveTrainCommand
  2. לאחר מכן שמור.

שלב 10: בשלב הבא ניצור את קוד ה- OI

בשלב הבא ניצור את קוד ה- OI
בשלב הבא ניצור את קוד ה- OI
  1. עבור אל OI.
  2. צור אובייקט ג'ויסטיק ציבורי חדש עם היציאה 0.
  3. והסירו את היבוא שאינו בשימוש.
  4. להציל.

שלב 11: עבור אל DriveTrainCommand

עבור אל DriveTrainCommand
עבור אל DriveTrainCommand
  1. עבור אל DriveTrainCommand.
  2. עכשיו נעשה את החלק שלוקח את הג'ויסטיקים וניישם אותם כדי להזיז את הרובוט. בתוך המבצע (מכיוון שהוא פועל ללא הרף) הוסף את השורה (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) שבה אנו קוראים ל- arcadeDrive אצלנו תת מערכת עם הערכים של Robot.io. Driver.getRawAxis (1) המחזירה את ערך הג'ויסטיק והיכן 1 הוא ציר ציר y השמאלי וזהה לערך השני למעט 4 הוא ציר x הימני. אז זה אומר שהמקל השמאלי ילך קדימה ואחורה והמקל הימני ילך ימינה ושמאלה. (אם רצית תוכל לחזור ל- RobotMap וליצור ערכים חדשים לציר הג'ויסטיק ואז להתקשר אליהם באמצעות RobotMap. (שם הציר) ואל תשכח להפוך אותם לסופיים אם תעשה זאת בדרך זו.)
  3. לאחר מכן הסר כל ייבוא שאינו בשימוש מהפרויקט כולו.

שלב 12: לבסוף הידור והעלאת הקוד לרובוט

מוּמלָץ: