فهرست مطالب:

نحوه نوشتن یک راننده ساده برای FRC (جاوا): 12 مرحله (همراه با تصاویر)
نحوه نوشتن یک راننده ساده برای FRC (جاوا): 12 مرحله (همراه با تصاویر)

تصویری: نحوه نوشتن یک راننده ساده برای FRC (جاوا): 12 مرحله (همراه با تصاویر)

تصویری: نحوه نوشتن یک راننده ساده برای FRC (جاوا): 12 مرحله (همراه با تصاویر)
تصویری: 12 103 استفاده از استریم‌ها، پایپ‌ها و ریدایرکت‌ها 2024, جولای
Anonim
نحوه نوشتن یک راننده ساده برای FRC (جاوا)
نحوه نوشتن یک راننده ساده برای FRC (جاوا)

این یک آموزش نحوه ساخت یک پیشرانه ساده برای ربات FRC است. در این آموزش فرض بر این است که می دانید اصول جاوا ، eclipse و wpilib و کتابخانه های CTRE قبلاً نصب شده است.

مرحله 1:

تصویر
تصویر

Eclipse را باز کنید

مرحله 2: ایجاد یک پروژه ربات جدید

ایجاد یک پروژه ربات جدید
ایجاد یک پروژه ربات جدید
ایجاد یک پروژه ربات جدید
ایجاد یک پروژه ربات جدید
ایجاد یک پروژه ربات جدید
ایجاد یک پروژه ربات جدید
ایجاد یک پروژه ربات جدید
ایجاد یک پروژه ربات جدید
  1. بر روی explorer package راست کلیک کرده ، روی new و سپس other کلیک کنید.
  2. به پایین بروید تا WPILib Robot Java Development را ببینید (اگر آن را نمی بینید ، منابع wpilib را نصب ندارید.)
  3. روی Robot Java Project کلیک کنید
  4. سپس نام پروژه را پر کرده و روی نوع پروژه ربات مبتنی بر فرمان کلیک کنید. (بسته باید قبلاً پر شده و با دنیای شبیه سازی یکسان باشد.)

مرحله 3: ایجاد/پر کردن RobotMap

ایجاد/پر کردن RobotMap
ایجاد/پر کردن RobotMap
ایجاد/پر کردن RobotMap
ایجاد/پر کردن RobotMap

متغیرهای نهایی را که شامل تعداد پورت های مختلف talon است ایجاد کنید

مرحله 4: حذف دستور مثال و زیر سیستم نمونه

دستور مثال و زیر سیستم نمونه را حذف کنید
دستور مثال و زیر سیستم نمونه را حذف کنید
دستور مثال و زیر سیستم را حذف کنید
دستور مثال و زیر سیستم را حذف کنید

مرحله 5: DriveTrainSubSystem را ایجاد کنید

DriveTrainSubSystem را ایجاد کنید
DriveTrainSubSystem را ایجاد کنید
DriveTrainSubSystem را ایجاد کنید
DriveTrainSubSystem را ایجاد کنید
DriveTrainSubSystem را ایجاد کنید
DriveTrainSubSystem را ایجاد کنید
  1. یک سازنده جدید در زیر سیستم drivetrain ایجاد شده ایجاد کنید. سپس اشیاء CANTalon را مطابق با تالون های روی پیشرانه ایجاد کنید.
  2. یک RobotDrive به نام Drive ایجاد کنید
  3. این اشیاء را در سازنده مثال بزنید (مطمئن شوید که از مقادیری برای طالون هایی که در نقشه ربات ایجاد کردیم استفاده کنید). برای Robot Drive از سازنده ای استفاده می کنیم که از 4 کنترل کننده موتور استفاده می کند (RobotDrive (SpeedController frontLeftMotor ، SpeedController rearLeftMotor ، SpeedController frontRightMotor ، SpeedController rearRightMotor))
  4. سپس یک متد arcadeDrive () با دو متغیر ورودی x به جلو و عقب و y به راست و چپ ایجاد کنید. در داخل شما drive.arcade را با مقادیر forward و rotate فراخوانی می کنید
  5. سپس initDefaultCommand () را تغییر دهید تا خط setDefaultCommand (DriveTrainCommand جدید ()) ؛.
  6. هنوز نگران همه خطاها نباشید.

مرحله 6: فرمان DriveTrainCommand را ایجاد کنید

DriveTrainCommand را ایجاد کنید
DriveTrainCommand را ایجاد کنید
DriveTrainCommand را ایجاد کنید
DriveTrainCommand را ایجاد کنید
DriveTrainCommand را ایجاد کنید
DriveTrainCommand را ایجاد کنید
DriveTrainCommand را ایجاد کنید
DriveTrainCommand را ایجاد کنید
  1. ابتدا با رفتن به منویی که برای ایجاد زیر سیستم استفاده کرده ایم و ربات خود را طراحی می کند (این آخرین باری است که این مرحله واقعی را در مراحل بعدی نشان خواهم داد ، فقط برای ایجاد فرمان یا ایجاد دستور در زیر سیستم فرض کنید که در این منو قرار دارد.) روی فرمان کلیک کرده و نام کلاس را با DriveTrainCommand پر کنید (اگر نام این فایل ها را تغییر دهید ، نمی توانید آنها را یکسان کنید).
  2. در DriveTrainCommand جدید خواهید دید که 6 روش وجود دارد که یکی سازنده و 5 روش دیگر بخشهایی از کد است که ربات هنگام فرمان در حال اجرا است. ما می دانیم که سازنده چه کاری انجام می دهد تا بتواند Initialize ، اجرا ، isFinished ، end و interrupt را توضیح دهد. Initialize هر بار که فرمان فراخوانده می شود ، روش اجرا به طور مداوم فراخوانی می شود تا فرمان به پایان برسد ، که ناشی از پایان یافتن متد isFinished true است ، دستور متوقف می شود ، روش پایان یکبار پس از isFinished فراخوانی می شود. متد فراخوانی می شود ، و وقفه زمانی فراخوانی می شود که منابع دستورات توسط دستور دیگری استفاده می شود و فرمان تمام می شود (بدون فراخوانی روش پایان).
  3. ابتدا در DriveTrainCommand در سازنده باید خط مورد نیاز را اضافه کنید (نیاز دارد (Robot. DriveTrainSub)) توجه داشته باشید که DriveTrainSub با نام زیر سیستم یکسان نیست و عمداً انجام می شود.

مرحله 7: رفتن به ربات

پرش به ربات
پرش به ربات
پرش به ربات
پرش به ربات
پرش به ربات
پرش به ربات
پرش به ربات
پرش به ربات
  1. در مرحله بعد ما قصد داریم به کلاس Robot برویم
  2. سپس ما قصد داریم خط را تغییر دهیم (عمومی استاتیک نهایی نمونه سیستم سابسیستم exampleSubsystem = نمونه جدید سیستم) ()؛) به (عمومی عمومی نهایی DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem ()؛) توجه داشته باشید که نام اول پس از نام همان زیر سیستم و name after new همچنین توجه داشته باشید که DriveTrainSub همان نامی است که در آخرین مرحله خود قرار داده ایم و با نام زیر سیستم یکسان نیست (شما باید یک نام شیء (DriveTrainSub) داشته باشید که مشابه زیر سیستم نیست نام).
  3. سپس DriveTrainSubSystem ما را وارد کنید.
  4. در مرحله بعد خط را حذف می کنیم (chooser.addDefault ("Default Auto"، newCommonand ())؛)
  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: در نهایت کامپایل و بارگذاری کد در روبات

توصیه شده: