İçindekiler:

FRC (Java) için Basit Bir Aktarma Organı Nasıl Yazılır: 12 Adım (Resimlerle)
FRC (Java) için Basit Bir Aktarma Organı Nasıl Yazılır: 12 Adım (Resimlerle)

Video: FRC (Java) için Basit Bir Aktarma Organı Nasıl Yazılır: 12 Adım (Resimlerle)

Video: FRC (Java) için Basit Bir Aktarma Organı Nasıl Yazılır: 12 Adım (Resimlerle)
Video: FRC Kodlama 2024, Temmuz
Anonim
FRC (Java) için Basit Bir Aktarma Organı Nasıl Yazılır?
FRC (Java) için Basit Bir Aktarma Organı Nasıl Yazılır?

Bu, bir FRC robotu için basit bir aktarma organının nasıl yapılacağına dair bir eğitimdir. Bu eğitim, java, eclipse ve zaten wpilib'in ve ayrıca CTRE kitaplıklarının kurulu olduğunu bildiğinizi varsayar.

Aşama 1:

resim
resim

Eclipse'i aç

2. Adım: Yeni Bir Robot Projesi Oluşturun

Yeni Bir Robot Projesi Oluşturun
Yeni Bir Robot Projesi Oluşturun
Yeni Bir Robot Projesi Oluşturun
Yeni Bir Robot Projesi Oluşturun
Yeni Bir Robot Projesi Oluşturun
Yeni Bir Robot Projesi Oluşturun
Yeni Bir Robot Projesi Oluşturun
Yeni Bir Robot Projesi Oluşturun
  1. Paket gezginine sağ tıklayın, yeni'ye ve ardından diğer'e tıklayın.
  2. WPILib Robot Java Geliştirme'yi görene kadar aşağı kaydırın (görmüyorsanız, yüklü wpilib kaynaklarına sahip değilsiniz.)
  3. Robot Java Projesine tıklayın
  4. Ardından proje adını girin ve komut tabanlı robot proje tipine tıklayın.(Paket önceden doldurulmuş ve simülasyon dünyası ile aynı olmalıdır.)

Adım 3: RobotMap'te Oluşturun/Doldurun

RobotMap'te Oluştur/Doldur
RobotMap'te Oluştur/Doldur
RobotMap'te Oluştur/Doldur
RobotMap'te Oluştur/Doldur

Farklı pençe bağlantı noktalarının sayısını içeren son değişkenler oluşturun

Adım 4: Örnek Komutu ve Örnek Alt Sistemi Sil

Örnek Komutu ve Örnek Alt Sistemi Sil
Örnek Komutu ve Örnek Alt Sistemi Sil
Örnek Komutu ve Örnek Alt Sistemi Sil
Örnek Komutu ve Örnek Alt Sistemi Sil

Adım 5: DriveTrainSubSystem oluşturun

DriveTrainSubSystem oluşturun
DriveTrainSubSystem oluşturun
DriveTrainSubSystem oluşturun
DriveTrainSubSystem oluşturun
DriveTrainSubSystem oluşturun
DriveTrainSubSystem oluşturun
  1. Yeni oluşturulan aktarma organları alt sisteminde yeni bir kurucu oluşturun. Ardından, aktarma organlarındaki pençelere karşılık gelen CANTalon nesneleri oluşturun.
  2. Drive adında bir RobotDrive oluşturun
  3. Bu Nesneleri yapıcıda somutlaştırın (robot haritasında oluşturduğumuz pençeler için değerleri kullandığınızdan emin olun). Robot Drive için 4 Motor Controller (RobotDrive(SpeedController frontLeftMotor, SpeedController arkaLeftMotor, SpeedController frontRightMotor, SpeedController arkaRightMotor)) kullanan yapıcıyı kullanacağız.
  4. Ardından, x ileri ve geri ve y sağ ve sol olmak üzere iki giriş değişkeniyle bir arcadeDrive() yöntemi oluşturun. İçeride ileri ve döndürme değerleriyle drive.arcade'i arayacaksınız.
  5. Ardından initDefaultCommand() öğesini setDefaultCommand(new DriveTrainCommand()); satırını içerecek şekilde değiştirin.
  6. Henüz tüm hatalar için endişelenmeyin.

6. Adım: DriveTrainCommand'ı oluşturun

DriveTrainCommand'ı oluşturun
DriveTrainCommand'ı oluşturun
DriveTrainCommand'ı oluşturun
DriveTrainCommand'ı oluşturun
DriveTrainCommand'ı oluşturun
DriveTrainCommand'ı oluşturun
DriveTrainCommand'ı oluşturun
DriveTrainCommand'ı oluşturun
  1. İlk olarak alt sistemi oluşturmak için kullandığımız menüye giderek başlıyoruz ve robot kendini projelendiriyor(bu gerçek adımı ileriki adımlarda son kez göstereceğim, sadece bir komut yapmak veya bir komut yapmak için söyleyeceğim. altsistem ve bu menüde olduğunu varsayarsınız.) Komuta tıklayın ve sınıf adını DriveTrainCommand ile doldurun (bu dosyaların adlarını değiştirirseniz aynı olmaları mümkün olmaz).
  2. Yeni DriveTrainCommand'da, biri yapıcı, diğer 5'i ise robotun komut çalışırken çağıracağı kodun parçaları olan 6 yöntem olduğunu göreceksiniz. Yapıcının ne yaptığını biliyoruz, bu nedenle Başlatma, yürütme, Bitti, bitirme ve kesintiyi açıklamamıza izin verin. Initialize, komut her çağrıldığında bir kez çağrılır, execute yöntemi komut bitene kadar sürekli olarak çağrılır, bu da isFinished yönteminin true değerini döndürmesi durumunda bitişin neden olduğu, komutun çalışması duracaktır, bitiş yöntemi isFinished'den sonra bir kez çağrılır yöntem çağrılır ve komut kaynakları başka bir komut tarafından kullanıldığında ve komut sona erdiğinde (end yöntemi çağrılmadan) kesilen çağrılır.
  3. İlk olarak, yapıcıdaki DriveTrainCommand'da require satırını (requires(Robot. DriveTrainSub)) eklemeniz gerekir, DriveTrainSub'ın alt sistem adıyla aynı olmadığına ve bunun kasıtlı olduğuna dikkat edin.

Adım 7: Robota Atla

Robota Atla
Robota Atla
Robota Atla
Robota Atla
Robota Atla
Robota Atla
Robota Atla
Robota Atla
  1. Sonra Robot Sınıfına atlayacağız
  2. sonra satırı (public static final ExampleSubsystem exampleSubsystem = new ExampleSubsystem();) olarak değiştireceğiz (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem();) dikkat edin finalden sonraki ilk ad, alt sistem adıyla aynı ve her yeni ad ayrıca DriveTrainSub'ın son adımımıza koyduğumuz adla aynı olduğuna ve alt sistem adıyla aynı olmadığına dikkat edin (alt sistemle aynı olmayan bir nesne adınız (DriveTrainSub) OLMALIDIR) isim).
  3. Ardından DriveTrainSubSystem'ımızı içe aktarın.
  4. Sonra satırı kaldıracağız(chooser.addDefault("Default Auto", new ExampleCommand());)
  5. Ardından kullanılmayan ithalatları kaldırın.
  6. Sonra kaydedin.

8. Adım: DriveTrainCommand'a Geri Dönün

DriveTrainCommand'a Geri Dön
DriveTrainCommand'a Geri Dön
  1. Robotu içe aktar(resimdeki ikincisi)
  2. Sonra Kaydet

9. Adım: DriveTrainSub'a gidin

DriveTrainSub'a gidin
DriveTrainSub'a gidin
  1. DriveTrainCommand'ı İçe Aktar
  2. Sonra kaydedin.

Adım 10: Sonraki OI Kodunu Oluşturacağız

Sonraki OI Kodunu Oluşturacağız
Sonraki OI Kodunu Oluşturacağız
  1. OI'ye gidin.
  2. 0 bağlantı noktasıyla yeni bir genel joystick nesnesi oluşturun.
  3. Ve kullanılmayan ithalatı kaldırın.
  4. Kaydetmek.

Adım 11: DriveTrainCommand'a gidin

DriveTrainCommand'a gidin
DriveTrainCommand'a gidin
  1. DriveTrainCommand'a gidin.
  2. Şimdi joystickleri alıp robotu hareket ettirmek için uygulayacağımız kısmı yapacağız. Yürütmenin içine (sürekli çalıştığı için) satırı ekleyin (Robot. DriveTrainSub.arcadeDrive(Robot.oi. Driver.getRawAxis(1), Robot.oi. Driver.getRawAxis(4));) burada arcadeDrive olarak adlandırıyoruz. joystick'in değerini döndüren Robot.io. Driver.getRawAxis(1) değerlerine sahip alt sistem ve burada 1, sol y ekseninin ekseni ve 4 hariç ikinci değer için aynı, sağ x eksenidir. yani bu, sol çubuğun ileri ve geri gideceği ve sağ çubuğun sağa ve sola gideceği anlamına gelir. (İsterseniz RobotMap'e geri dönebilir ve joystick ekseni için yeni değerler oluşturabilirsiniz, ardından bunları RobotMap.(eksen adı) ile çağırın ve bu şekilde yaparsanız son haline getirmeyi unutmayın.)
  3. Ardından, kullanılmayan tüm içe aktarmaları tüm projeden kaldırın.

Adım 12: Sonunda Kodu Derleyin ve Robota Yükleyin

Önerilen: