RobotBuilder’a Genel Bakış

RobotBuilder, robot geliştirme sürecine yardımcı olmak için tasarlanmış bir uygulamadır. RobotBuilder size şu konularda yardımcı olabilir:

  • Standart kod üretiliyor.

  • Robotunuzu düzenleyin ve temel alt sistemlerinin neler olduğunu bulun.

  • Tüm sensörleriniz ve aktüatörleriniz için yeterli kanalınız olup olmadığını kontrol edin.

  • Kablolama şemaları oluşturun.

  • Operatör arayüzünüzü kolayca değiştirin.

  • Daha…

RobotBuilder ile bir program oluşturmak, herhangi bir robot için aynı olan birkaç adımı izleyerek çok basit bir işlemdir. Bu ders takip edebileceğiniz adımları açıklamaktadır. Belgenin sonraki bölümlerinde bu adımların her biri hakkında daha fazla ayrıntı bulabilirsiniz.

Not

RobotBuilder, yeni Command Framework kullanarak kod üretir. Yeni çerçeve hakkında daha fazla ayrıntı için bkz Command Based Programming.

Robotu Subsystems-Alt Sistemlere Ayırın

../../../../../_images/robotbuilder-overview-1.png

Robotunuz doğal olarak tahrik trenleri, kollar, atıcılar, toplayıcılar, manipülatörler, bilek eklemleri vb. Gibi bir dizi küçük sistemden oluşur. Robotunuzun tasarımına bakmalı ve onu daha küçük, ayrı çalıştırılan alt sistemlere bölmelisiniz. Bu özel örnekte bir asansör, bir minibot hizalama cihazı, bir kavrayıcı ve bir kamera sistemi bulunmaktadır. Ek olarak sürücü tabanı da içerebilir. Robotun bu parçalarının her biri ayrı ayrı kontrol edilir ve alt sistemler için iyi adaylar oluşturur.

Daha fazla bilgi için bkz : doc: “Bir Alt Sistem Oluşturma <robotbuilder-creating-subsystem>`.

Her Alt Sistemi Projeye Ekleme

../../../../../_images/robotbuilder-overview-2.png

Her alt sistem, RobotBuilder’daki “Subsystems-Alt Sistemler” klasörüne eklenecek ve anlamlı bir ad verilecektir. Alt sistemlerin her biri için, alt sistemler hakkında daha fazla bilgi belirtmek için doldurulan birkaç öznitelik vardır. Ek olarak, oluşturmak isteyebileceğiniz iki tür alt sistem vardır:

  1. PIDS alt sistemleri - genellikle bir alt sistemin çalışmasını bir PID denetleyicisi ile kontrol etmek istenir. Bu, programınızdaki alt sistem elemanını, örneğin kol açısı gibi, istenen bir konuma daha hızlı ve sonra ulaşırken durmasını sağlayan koddur. PIDSubsystems yerleşik PID Denetleyici koduna sahiptir ve genellikle kendiniz eklemekten daha kullanışlıdır. PIDS alt sistemleri, cihazın hedef konuma ne zaman ulaştığını belirleyen bir sensöre ve ayar noktasına sürülen bir aktüatöre (motor kontrolörü) sahiptir.

  2. Normal alt sistem - bu alt sistemlerin entegre bir PID denetleyicisi yoktur ve geri bildirim için PID kontrolü olmayan alt sistemler için veya varsayılan yerleşik PID denetleyiciyle ele alınabilecek olandan daha karmaşık denetim gerektiren alt sistemler için kullanılır.

Bu belgelerin çoğuna baktıkça, alt sistem türleri arasındaki farklar daha belirgin hale gelecektir.

Daha fazla bilgi için bkz : doc: “Creating a Subsystem <robotbuilder-creating-subsystem>” ve : ref: Write Code for a Subsystem <docs/software/wpilib-tools/robotbuilder/writing-code/robotbuilder-writing-subsystem-code:Writing the Code for a Subsystem>.

Alt Sistemlerin her birine Bileşen Ekleme

../../../../../_images/robotbuilder-overview-3.png

Her bir alt sistem, işlemlerini gerçekleştirmek için kullandığı bir dizi aktüatör, sensör ve denetleyiciden oluşur. Bu sensörler ve aktüatörler, ilişkili oldukları alt sisteme eklenir. Sensörlerin ve aktüatörlerin her biri, RobotBuilder paletinden gelir ve uygun alt sisteme sürüklenir. Her biri için, genellikle bağlantı noktası numaraları ve bileşene özgü diğer parametreler gibi ayarlanması gereken başka özellikler vardır.

Bu örnekte, Elevator alt sistemine sürüklenen bir motor ve bir potansiyometre (motor ve pot) kullanan bir Elevator alt sistemi vardır.

Alt Sistem Hedeflerini Açıklayan Komutlar Ekleme

Komutlar, robotun gerçekleştireceği farklı hedeflerdir. Bu komutlar, komut “Commands” klasörünün altına sürüklenerek eklenir. Bir komut oluştururken 7 seçenek vardır (resmin solundaki palette gösterilir):

  • Normal komutlar - bunlar en esnek komutlardır, hedefe ulaşmak için gerekli eylemleri gerçekleştirmek için tüm kodu yazmanız gerekir.

  • Zamanlanmış komutlar - bu komutlar, bir zaman aşımından sonra sona eren bir komutun basitleştirilmiş bir sürümüdür.

  • Anında komutlar - bu komutlar, bir yineleme için çalışan ve ardından sona eren bir komutun basitleştirilmiş bir versiyonudur.

  • Komut grupları - bu komutlar, hem sıralı hem de paralel olarak çalışan diğer komutların birleşimidir. Bir dizi temel komut uygulandıktan sonra daha karmaşık eylemler oluşturmak için bunları kullanın.

  • Ayar noktası komutları - ayar noktası komutları bir PID Alt Sistemini sabit bir ayar noktasına veya istenen konuma taşır.

  • PID komutları - bu komutlar, normal bir alt sistemle kullanılmak üzere yerleşik bir PID denetleyicisine sahiptir.

  • Koşullu komutlar - bu komutlar, başlatma anında çalıştırılacak iki komuttan birini seçer.

Daha fazla bilgi için bakınız : doc: ` Bir Komut Oluşturma <robotbuilder-creating-command>` ve : ref: ` Komut Kodunu Yazma <docs/software/wpilib-tools/robotbuilder/writing-code/robotbuilder-writing-command-code:Writing the Code for a Command>` .

Her Komutu Test Etme

../../../../../_images/robotbuilder-overview-4.png

Her komut Shuffleboard veya SmartDashboard’dan çalıştırılabilir. Bu, komutları operatör arayüzüne veya bir komut grubuna eklemeden önce test etmek için kullanışlıdır. “Button on SmartDashboard” özelliğini işaretli bıraktığınız sürece, SmartDashboard’da bir düğme oluşturulur. Düğmeye bastığınızda, komut çalışacak ve istediğiniz eylemi gerçekleştirip gerçekleştirmediğini kontrol edebilirsiniz.

Düğmeler oluşturarak her komut ayrı ayrı test edilebilir. Tüm komutlar ayrı ayrı çalışıyorsa, robotun bir bütün olarak çalışacağından oldukça emin olabilirsiniz.

Daha fazla bilgi için bkz Testing with Smartdashboard.

Operatör Arayüzü Bileşenlerinin Eklenmesi

../../../../../_images/robotbuilder-overview-5.png

Operatör arayüzü, kumanda kollarından, oyun kumandalarından ve diğer HID giriş cihazlarından oluşur. RobotBuilder’daki programınıza operatör arayüzü bileşenleri (kumanda kolları, kumanda kolu düğmeleri) ekleyebilirsiniz. Tüm bileşenleri başlatacak ve komutlara bağlanmalarına izin verecek kodu otomatik olarak üretecektir.

Operatör arayüz bileşenleri paletten RobotBuilder programındaki “Operator Interface” klasörüne sürüklenir. Önce (1) programa Joystick’i ekleyin, ardından ilgili joysticklerin (2) altına düğmeler koyun ve bunlara ShootButton gibi anlamlı adlar verin.

Komutların Operatör Arayüzüne Bağlanması

../../../../../_images/robotbuilder-overview-6.png

Komutlar düğmelerle ilişkilendirilebilir, böylece bir düğmeye basıldığında komut zamanlanır. Bu, çoğunlukla, robot programınızın uzaktan çalıştırılan bölümünün çoğunu işlemelidir.

Bu, RobotBuilder programındaki JoystickButton nesnesine (1) komutu ekleyerek, ardından (2) komutun programlandığı koşulu ayarlayarak yapılır.

Daha fazla bilgi için bkz : doc:Operatör Arayüzünü Komuta Bağlama <robotbuilder-operator-interface-to-command>.

Otonom Komutlar Geliştirme

../../../../../_images/robotbuilder-overview-7.png

Komutlar, otonom programlar geliştirmeyi kolaylaştırır. Robot otonom döneme girdiğinde hangi komutun çalıştırılması gerektiğini belirtirsiniz ve otomatik olarak programlanacaktır. Komutları yukarıda tartışıldığı gibi test ettiyseniz, bu sadece hangi komutun çalıştırılması gerektiğini seçme meselesi olmalıdır.

RobotBuilder projesinin (1) kökündeki robotu seçin, ardından çalıştırılacak komutu seçmek için Otonom Komut özelliğini (2) düzenleyin. Bu kadar basit!

Daha fazla bilgi için bkz Setting the Autonomous Commands.

Kod Oluşturuluyor

../../../../../_images/robotbuilder-overview-8.png

Yukarıda belirtilen sürecin herhangi bir noktasında, RobotBuilder’ın oluşturduğunuz projeyi temsil edecek bir C++ veya Java programı oluşturmasını sağlayabilirsiniz. Bu, proje özelliklerinde (1) projenin konumu belirtilerek ve ardından kodu oluşturmak için uygun araç çubuğu düğmesine tıklanarak yapılır (2).

Daha fazla bilgi için bkz Generating RobotBuilder Code.