Daftar Isi:

Cara Menulis Drivetrain Sederhana untuk FRC (Java): 12 Langkah (dengan Gambar)
Cara Menulis Drivetrain Sederhana untuk FRC (Java): 12 Langkah (dengan Gambar)

Video: Cara Menulis Drivetrain Sederhana untuk FRC (Java): 12 Langkah (dengan Gambar)

Video: Cara Menulis Drivetrain Sederhana untuk FRC (Java): 12 Langkah (dengan Gambar)
Video: PYR 2: The Command-based Robot 2024, Juli
Anonim
Cara Menulis Drivetrain Sederhana untuk FRC (Java)
Cara Menulis Drivetrain Sederhana untuk FRC (Java)

Ini adalah tutorial cara membuat drivetrain sederhana untuk robot FRC. Tutorial ini mengasumsikan bahwa Anda mengetahui bahwa dasar-dasar Java, Eclipse dan sudah menginstal wpilib, serta pustaka CTRE.

Langkah 1:

Gambar
Gambar

Buka Eclipse

Langkah 2: Buat Proyek Robot Baru

Buat Proyek Robot Baru
Buat Proyek Robot Baru
Buat Proyek Robot Baru
Buat Proyek Robot Baru
Buat Proyek Robot Baru
Buat Proyek Robot Baru
Buat Proyek Robot Baru
Buat Proyek Robot Baru
  1. Klik kanan pada paket explorer, klik baru, lalu lainnya.
  2. Gulir ke bawah hingga Anda melihat Pengembangan Java Robot WPILib (jika Anda tidak melihatnya, Anda belum menginstal sumber daya wpilib.)
  3. Klik pada Proyek Robot Java
  4. Kemudian isi nama proyek dan klik jenis proyek robot berbasis perintah. (Paket harus sudah diisi dan sama dengan dunia simulasi.)

Langkah 3: Buat/Isi RobotMap

Buat/Isi di RobotMap
Buat/Isi di RobotMap
Buat/Isi di RobotMap
Buat/Isi di RobotMap

Buat variabel akhir yang berisi jumlah port talon yang berbeda

Langkah 4: Hapus Contoh Perintah dan Contoh Subsistem

Hapus Contoh Perintah dan Contoh Subsistem
Hapus Contoh Perintah dan Contoh Subsistem
Hapus Contoh Perintah dan Contoh Subsistem
Hapus Contoh Perintah dan Contoh Subsistem

Langkah 5: Buat DriveTrainSubSystem

Buat DriveTrainSubSystem
Buat DriveTrainSubSystem
Buat DriveTrainSubSystem
Buat DriveTrainSubSystem
Buat DriveTrainSubSystem
Buat DriveTrainSubSystem
  1. Buat konstruktor baru di subsistem drivetrain yang baru dibuat. Kemudian buat objek CANTalon yang sesuai dengan cakar pada drivetrain.
  2. Buat RobotDrive bernama Drive
  3. Instansiasi Objek ini di konstruktor (pastikan untuk menggunakan nilai untuk cakar yang kita buat di peta robot). Untuk Robot Drive kita akan menggunakan konstruktor yang menggunakan 4 Motor Controller (RobotDrive(SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. Kemudian buat metode arcadeDrive() dengan dua variabel input yaitu x maju dan mundur dan y kanan dan kiri. Di dalam Anda akan memanggil drive.arcade dengan nilai maju dan putar
  5. Kemudian ubah initDefaultCommand() untuk memuat baris setDefaultCommand(new DriveTrainCommand());.
  6. Jangan khawatir tentang semua kesalahan belum.

Langkah 6: Buat DriveTrainCommand

Buat Perintah DriveTrain
Buat Perintah DriveTrain
Buat Perintah DriveTrain
Buat Perintah DriveTrain
Buat Perintah DriveTrain
Buat Perintah DriveTrain
Buat Perintah DriveTrain
Buat Perintah DriveTrain
  1. Pertama-tama mulailah dengan masuk ke menu yang telah kita gunakan untuk membuat subsistem dan robot memproyeksikan dirinya sendiri (ini adalah terakhir kalinya saya akan menunjukkan langkah aktual ini di langkah-langkah selanjutnya yang akan saya katakan hanya untuk membuat perintah atau membuat subsistem dan Anda akan berasumsi bahwa itu ada di menu ini.) Klik perintah dan isi nama kelas dengan DriveTrainCommand (jika Anda mengubah nama file ini, Anda tidak dapat membuatnya sama).
  2. Di DriveTrainCommand baru Anda akan melihat bahwa ada 6 metode satu adalah konstruktor dan 5 lainnya adalah bagian dari kode yang akan dipanggil robot ketika perintah sedang berjalan. Kita tahu apa yang dilakukan konstruktor, jadi mari kita jelaskan Inisialisasi, eksekusi, selesai, akhiri, dan sela. Inisialisasi dipanggil sekali setiap kali perintah dipanggil, metode eksekusi dipanggil terus menerus sampai perintah berakhir, yang disebabkan oleh selesai ketika metode isFinished mengembalikan true perintah akan berhenti berjalan, Metode akhir dipanggil sekali setelah isFinished metode dipanggil, dan interupsi dipanggil ketika sumber daya perintah sedang digunakan oleh perintah lain dan perintah akan berakhir (tanpa memanggil metode akhir).
  3. Pertama di DriveTrainCommand di konstruktor Anda perlu menambahkan baris membutuhkan (memerlukan (Robot. DriveTrainSub)) perhatikan bahwa DriveTrainSub tidak sama dengan nama subsistem dan itu disengaja.

Langkah 7: Langsung ke Robot

Langsung ke Robot
Langsung ke Robot
Langsung ke Robot
Langsung ke Robot
Langsung ke Robot
Langsung ke Robot
Langsung ke Robot
Langsung ke Robot
  1. Selanjutnya kita akan melompat ke Kelas Robot
  2. lalu kita akan mengubah baris (public static final ExampleSubsystem exampleSubsystem = new ExampleSubsystem();) menjadi (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem();) perhatikan nama depan setelah final sama dengan nama subsistem dan name after new juga perhatikan bahwa DriveTrainSub sama dengan nama yang kita masukkan pada langkah terakhir kita dan tidak sama dengan nama subsistem (Anda HARUS memiliki nama objek (DriveTrainSub) yang tidak sama dengan subsistem nama).
  3. Kemudian impor DriveTrainSubSystem kami.
  4. Selanjutnya kita akan menghapus baris(chooser.addDefault("Default Auto", new ExampleCommand());)
  5. Kemudian hapus impor yang tidak digunakan.
  6. Kemudian simpan.

Langkah 8: Kembali ke DriveTrainCommand

Kembali ke DriveTrainCommand
Kembali ke DriveTrainCommand
  1. impor Robot (yang kedua dalam gambar)
  2. Kemudian Simpan

Langkah 9: Buka DriveTrainSub

Pergi ke DriveTrainSub
Pergi ke DriveTrainSub
  1. Impor DriveTrainCommand
  2. Kemudian simpan.

Langkah 10: Selanjutnya Kita Akan Membuat Kode OI

Selanjutnya Kita Akan Membuat Kode OI
Selanjutnya Kita Akan Membuat Kode OI
  1. Pergi ke OI.
  2. Buat objek joystick publik baru dengan port 0.
  3. Dan hapus impor yang tidak digunakan.
  4. Menyimpan.

Langkah 11: Buka DriveTrainCommand

Pergi ke DriveTrainCommand
Pergi ke DriveTrainCommand
  1. Pergi ke DriveTrainCommand.
  2. Sekarang kita akan melakukan bagian yang mengambil joystick dan menerapkannya untuk menggerakkan robot. Di dalam eksekusi (karena berjalan terus-menerus) tambahkan baris (Robot. DriveTrainSub.arcadeDrive(Robot.oi. Driver.getRawAxis(1), Robot.oi. Driver.getRawAxis(4));) di mana kami memanggil arcadeDrive di kami subsistem dengan nilai Robot.io. Driver.getRawAxis(1) yang mengembalikan nilai joystick dan di mana 1 adalah sumbu sumbu y kiri dan sama untuk nilai kedua kecuali 4 adalah sumbu x kanan. jadi ini berarti tongkat kiri akan maju dan mundur dan tongkat kanan akan bergerak ke kanan dan kiri. (jika mau, Anda dapat kembali ke RobotMap dan membuat nilai baru untuk sumbu joystick, lalu memanggilnya dengan RobotMap. (nama sumbu) dan jangan lupa untuk menjadikannya final jika Anda melakukannya dengan cara ini.)
  3. Selanjutnya hapus impor yang tidak digunakan dari keseluruhan proyek.

Langkah 12: Terakhir Kompilasi dan Unggah Kode ke Robot

Direkomendasikan: