Isi kandungan:

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

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

Video: Cara Menulis Drivetrain Mudah untuk FRC (Java): 12 Langkah (dengan Gambar)
Video: FRC - Command Base System - Java - VS Code 2020 - Part 1 2024, Julai
Anonim
Cara Menulis Drivetrain Mudah untuk FRC (Java)
Cara Menulis Drivetrain Mudah untuk FRC (Java)

Ini adalah tutorial bagaimana membuat drivetrain mudah untuk robot FRC. Tutorial ini mengandaikan bahawa anda tahu bahawa asas-asas java, gerhana dan sudah memasang wpilib, serta perpustakaan CTRE.

Langkah 1:

Imej
Imej

Buka Gerhana

Langkah 2: Buat Projek Robot Baru

Buat Projek Robot Baru
Buat Projek Robot Baru
Buat Projek Robot Baru
Buat Projek Robot Baru
Buat Projek Robot Baru
Buat Projek Robot Baru
Buat Projek Robot Baru
Buat Projek Robot Baru
  1. Klik kanan pada penjelajah pakej, klik baru, kemudian yang lain.
  2. Tatal ke bawah sehingga anda melihat WPILib Robot Java Development (jika anda tidak melihatnya, anda tidak memasang sumber wpilib.)
  3. Klik pada Robot Java Project
  4. Kemudian isikan nama projek dan klik jenis projek robot berdasarkan arahan. (Pakej harus diisi dan sama dengan dunia simulasi.)

Langkah 3: Buat / Isi RobotMap

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

Buat pemboleh ubah akhir yang mengandungi bilangan port talon yang berbeza

Langkah 4: Padam Contoh Perintah dan Contoh Subsistem

Padam Contoh Perintah dan Contoh Subsistem
Padam Contoh Perintah dan Contoh Subsistem
Padam Contoh Perintah dan Contoh Subsistem
Padam 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 dalam subsistem drivetrain yang baru dibuat. Kemudian buat objek CANTalon yang sesuai dengan talon di drivetrain.
  2. Buat RobotDrive yang dipanggil Drive
  3. Buatkan Objek ini di dalam konstruktor (pastikan menggunakan nilai untuk talon yang kami buat di peta robot). Untuk Robot Drive kami akan menggunakan konstruktor yang menggunakan 4 Pengawal Motor (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
  4. Kemudian buat kaedah arcadeDrive () dengan dua pemboleh ubah input adalah x ke hadapan dan ke belakang dan y adalah kanan dan kiri. Di dalam anda akan memanggil drive.arcade dengan nilai hadapan dan putaran
  5. Kemudian ubah initDefaultCommand () untuk mengandungi line setDefaultCommand (DriveTrainCommand baru ());.
  6. Jangan bimbang tentang semua kesilapan.

Langkah 6: Buat DriveTrainCommand

Buat DriveTrainCommand
Buat DriveTrainCommand
Buat DriveTrainCommand
Buat DriveTrainCommand
Buat DriveTrainCommand
Buat DriveTrainCommand
Buat DriveTrainCommand
Buat DriveTrainCommand
  1. Mula-mula mulakan dengan pergi ke menu yang telah kita gunakan untuk membuat subsistem dan robot memproyeksikannya sendiri (ini adalah kali terakhir saya akan menunjukkan langkah sebenar ini pada langkah-langkah yang akan datang yang akan saya katakan hanya untuk membuat perintah atau membuat subsistem dan anda akan menganggapnya ada dalam menu ini.) Klik perintah dan isi nama kelas dengan DriveTrainCommand (jika anda menukar nama fail ini, anda tidak boleh memilikinya sama).
  2. Dalam DriveTrainCommand baru, anda akan melihat bahawa terdapat 6 kaedah satu adalah konstruktor dan 5 yang lain adalah bahagian kod yang akan dipanggil oleh robot ketika perintah sedang berjalan. Kami tahu apa yang dilakukan oleh konstruktor sehingga memungkinkan untuk menerangkan Inisialisasi, pelaksanaan, Selesai, berakhir dan terganggu. Inisialisasi dipanggil sekali setiap kali perintah dipanggil, kaedah eksekusi dipanggil terus-menerus hingga perintah berakhir, yang disebabkan oleh selesai apabila kaedah isFinished mengembalikan benar perintah akan berhenti berjalan, Kaedah akhir dipanggil sekali setelah isFinished kaedah dipanggil, dan terputus dipanggil ketika sumber perintah digunakan oleh perintah lain dan perintah akan berakhir (tanpa memanggil kaedah akhir).
  3. Pertama di DriveTrainCommand dalam konstruktor, anda perlu menambah baris memerlukan (memerlukan (Robot. DriveTrainSub)) perhatikan bahawa DriveTrainSub tidak sama dengan nama subsistem dan itu sengaja.

Langkah 7: Lompat ke Robot

Lompat ke Robot
Lompat ke Robot
Lompat ke Robot
Lompat ke Robot
Lompat ke Robot
Lompat ke Robot
Lompat ke Robot
Lompat ke Robot
  1. Seterusnya kita akan melompat ke Kelas Robot
  2. maka kita akan menukar garis (contoh statik akhir umumSubsystem contohSubsystem = contohSubsystem baru ();) kepada (umum statik akhir DriveTrainSubsystem DriveTrainSub = baru DriveTrainSubsystem ();) perhatikan nama pertama selepas final adalah sama dengan nama subsistem dan nama selepas baru juga perhatikan bahawa DriveTrainSub sama dengan nama yang kami masukkan pada langkah terakhir kami dan tidak sama dengan nama subsistem (Anda HARUS mempunyai nama objek (DriveTrainSub) yang tidak sama dengan subsistem nama).
  3. Kemudian import DriveTrainSubSystem kami.
  4. Selanjutnya kita akan membuang baris (chooser.addDefault ("Default Auto", ContohCommand baru ());)
  5. Kemudian keluarkan import yang tidak digunakan.
  6. Kemudian simpan.

Langkah 8: Kembali ke DriveTrainCommand

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

Langkah 9: Pergi ke DriveTrainSub

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

Langkah 10: Seterusnya Kami Akan Membuat Kod OI

Seterusnya Kami Akan Membuat Kod OI
Seterusnya Kami Akan Membuat Kod OI
  1. Pergi ke OI.
  2. Buat objek joystick awam baru dengan port 0.
  3. Dan keluarkan import yang tidak digunakan.
  4. Jimat.

Langkah 11: Pergi ke DriveTrainCommand

Pergi ke DriveTrainCommand
Pergi ke DriveTrainCommand
  1. Pergi ke DriveTrainCommand.
  2. Sekarang kita akan melakukan bahagian yang mengambil kayu bedik dan menerapkannya untuk menggerakkan robot. Di dalam eksekusi (kerana berjalan terus) tambahkan baris (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1), Robot.oi. Driver.getRawAxis (4));) di mana kita memanggil arcadeDrive di kami subsistem dengan nilai Robot.io. Driver.getRawAxis (1) yang mengembalikan nilai kayu bedik dan di mana 1 adalah paksi paksi y kiri dan sama untuk nilai kedua kecuali 4 adalah paksi x kanan. jadi ini bermaksud tongkat kiri akan maju dan mundur dan tongkat kanan akan bergerak ke kanan dan kiri. (jika anda mahu, anda boleh kembali ke RobotMap dan membuat nilai baru untuk sumbu kayu bedik, kemudian panggil mereka dengan RobotMap. (nama paksi) dan jangan lupa menjadikannya muktamad jika anda melakukannya dengan cara ini.)
  3. Seterusnya keluarkan sebarang import yang tidak digunakan dari keseluruhan projek.

Langkah 12: Akhirnya Kumpulkan dan Muat Naik Kod ke Robot

Disyorkan: