Romiのプログラミング

Romiのプログラムを書くのは、通常のFRCロボットのプログラムを書くのととても似ています。実際、同じツール(Visual Studio Code、Driver Station、SmartDashboardなど)がRomiでも使えます。

Romiのプログラムの作成

Romiの新しいプログラムを作成するのは、通常のFRCのプログラムを作成するのと同じで、 Zero To Robot のプログラミング手順と似ています。

WPILibには、Romiプロジェクト用のテンプレートが2つ付属しており、TimedRobotに基づいたものとCommandBasedRobotに基づいたものがあります。さらに、Romi の組み込み機能の一部を紹介するサンプルプロジェクトも提供されています。この記事では、このサンプルをもとにプロジェクトを作成していきます。

注釈

In order to program the Romi using C++, a compatible C++ desktop compiler must be installed. See Robot Simulation - Additional C++ Dependency.

新しいWPILib Romiプロジェクトの作成

Ctrl+Shift+P を押して、Visual Studio Codeのコマンドパレットを開いて、「New project」を入力します。その後、「Create a new project」を選びます:

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

「New Project Creator」というウインドウが表示されます。「Select a project type (Example or Template)」をクリックし、表示されるプロンプトで「Example」を選択します。

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

Select the programming language you want to use:

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

次に、例のリストが表示されます。リストをスクロールして 「RomiReference」の例を見つけてください:

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

「New Project Creator」に残りの項目を入力し、「Generate Project」をクリックして新しいプロジェクトを作成します。

Romiのプログラムを動作させる

プロジェクトは生成されれば、基本的にすぐに実行できます。Drivetrain クラスと、ジョイスティックを使ってRomiを動かすためのデフォルトコマンドがあらかじめ組み込まれています。

Romiプロジェクトが通常のFRCロボットプロジェクトと異なる点は、コードが直接Romiにデプロイされないことです。その代わりに、Romiプロジェクトは開発用コンピュータ上で実行され、WPILibシミュレーションフレームワークを利用してRomiロボットと通信します。

Romiプログラムを実行するには、まずRomiの電源が入っていることを確認します。次に、 Romiがブロードキャストする WPILibPi-<number> のWiFiネットワークに接続します。Romiのネットワーク設定を変更した場合(例えば、ご自身のWiFiネットワークに接続するため)、プログラムがRomiに接続するために使用するIPアドレスを変更することができます。これを行うには、 build.gradle ファイルを開き、 wpi.sim.envVar 行を適切な IP アドレスに更新します。

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ロボットコードを開始するには、WPILibコマンドパレットを開き ( Ctrl+Shift+P を入力 ) 、「Simulate Robot Code」を選択するか、 F5 を押します。

WPILibコマンドパレットによるシミュレーションの起動

すべてがうまくいけば、コンソール出力に「HALSimWS: WebSocket Connected」と表示されます:

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

あなたのRomiのコードが実行されました!