RobotBuilder’a Genel Bakış
Uyarı
RobotBuilder is deprecated and will be removed for 2027 due to its declining usage and burden of updating for the 2027 control system.
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

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

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:
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.
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

Each subsystem consists of a number of actuators, sensors, and controllers that it uses to perform its operations. These sensors and actuators are added to the subsystem with which they are associated. Each of the sensors and actuators comes from the RobotBuilder palette and is dragged to the appropriate subsystem. For each, there are usually other properties that must be set such as port numbers and other parameters specific to the component.
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.
Instant commands - these commands are a simplified version of a command that runs for one iteration and then ends
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

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

The operator interface consists of joysticks, gamepads, and other HID input devices. You can add operator interface components (joysticks, joystick buttons) to your program in RobotBuilder. It will automatically generate code that will initialize all of the components and allow them to be connected to commands.
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ı

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

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

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.