Romi’yi Programlamak

Romi için bir program yazmak, normal bir FRC robotu için bir program yazmaya çok benzemektedir. Aslına bakılırsa, proglama için kullanılan araçların her biri (Visual Studio Code, Driver Station, SmartDashboard, vb.) Romi ile de kullanılabilmektedir.

Romi Programının Oluşturulması

Romi için yeni bir program oluşturmak, Sıfırdan Robota programlama adımlarındakine benzer bir şekilde, normal bir FRC programı oluşturmak gibidir.

TimedRobot temelli bir şablon ve Komut temelli proje şablonu dahil olmak üzere, WPILib Romi projeleri için iki şablona sahiptir. Buna ek olarak, WPILib’de Romi’nin dahili işlevselliğini ortaya koyan bir proje örneği de sağlanmaktadır. Bu yazı, bu örnekten yola çıkarak adım adım bir projenin oluşumunu gösterecektir.

Not

C++ kullanarak Romi’yi programlama için, C++ ile uyumlu bir masaüstü derleyicinin yüklenmiş olması gerekmektedir. Bkz. ref:Robot Simülasyonu - Ek C++ Destek Dosyaları <cpp_sim_additional_dependency>.

Yeni bir WPILib Romi Projesi Oluşturma

Visual Studio Code komut paletini şu şekilde getirip Ctrl+Shift+P komut istemine “ New project-Yeni proje” yazınız. “Create a new project-Yeni proje oluştur” komutunu seçiniz:

../../_images/create-new-project.png

Bu, “New Project Creator Window-Yeni Proje Oluşturucu Penceresini” ekrana getirecektir. Buradan, “Select a project type-Bir proje türü seçip (Örnek veya Şablon) seçeneğini tıklayınız ve beliren istemden “Example-Örnek”i seçiniz:

../../_images/vscode-select-example.png

Kullanmak istediğiniz programlama dilini seçiniz:

../../_images/vscode-select-language.png

Ardından, bir örnek listesi görünecektir. “RomiReference” örneğini bulmak için listede ilerleyin:

../../_images/romi-vscode-reference-example.png

“New Project Creator-Yeni Proje Oluşturucu” daki kalan alanları doldurun ve yeni robot projesini oluşturmak için “Generate Project-Proje Oluştur” u tıklayın.

Bir Romi Programı Çalıştırmak

Robot projesi oluşturulduktan sonra, proje temelde çalıştırılmaya hazır olacaktır. Proje önceden oluşturulmuş bir Drivetrain sınıfına ve bir oyun kolu kullanarak Romi’yi sürmenize olanak tanıyan ilişkili bir varsayılan komuta sahiptir.

Bir Romi projesinin FRC robotu projesinden ayrıştığı nokta kodun doğrudan Romi’ye yüklenmemesidir. Bunun yerine, Romi projesi geliştirici bilgisayarınızda çalışmaktadır ve Romi robotuya iletişim kurmak için WPILib simülasyon ağı çerçevesini kullanmaktadır.

Bir Romi projesi çalıştırmak için öncelikle Romi’nizin açık olduğundan emin olunuz. Sonrasında, Romi tarafından yayınlanan WPILibPi-<number> WiFi ağına bağlanınız. (Örneğin robotu kendi WiFi ağınıza bağlamak için) Romi ağ ayarlarını değiştirdiyseniz, programınızın Romi’ye bağlanmak için kullandığı IP adresini değiştirebilirsiniz. Bunun için build.gradle dosyasını açıp wpi.sim.envVar satırını uygun IP adresi ile güncelleyiniz.

44//Sets the websocket client remote host.
45wpi.sim.envVar("HALSIMWS_HOST", "10.0.0.2")
46wpi.sim.addWebsocketsServer().defaultEnabled = true
47wpi.sim.addWebsocketsClient().defaultEnabled = true

Romi robot kodunuzu başlatmak için (Ctrl+Shift+P tuşlarına basarak) WPILib Komut Paletini açınız ve “Simulate Robot Code - Robot Kodunu Simüle Et” seçeneğini seçiniz ya da F5 tuşuna basınız.

WPILib Komut Paneliyle simülasyonun başlatılması

Her şey yolunda giderse, konsol çıktısında “HALSimWS:WebSocket Connected” yazan bir satır görmelisiniz:

../../_images/romi-vscode-connected.png

Romi kodunuz şimdi çalışıyor!