コンペティションテンプレートは、競技中にフィールドコントロールシステムと通信するためのコマンドが既に含まれているサンプルプロジェクトであり、コマンドがフィールド規則に準拠していることを保証し、複雑な問題や失格を回避するためにプロジェクトの設定を支援します(「競技」とは、公式フィールドコントロールハードウェアを使用するVEX V5ロボティクス競技イベントを指します)。
サンプルページからコンテストテンプレートを開く
テンプレートは、事前自律走行、自律走行モード、ドライバー制御の3つのセクションから構成されています。
# プロジェクトコードの開始
def pre_autonomous():
# プログラム開始時に実行するアクション
brain.screen.clear_screen()
brain.screen.print("pre auton code")
wait(1, SECONDS)
def autonomous():
brain.screen.clear_screen()
brain.screen.print("autonomous code")
# ここに自律コードを配置
def user_control():
brain.screen.clear_screen()
# この while ループにドライバ制御を配置
while True:
wait(20, MSEC)
# 競合インスタンスを作成
comp = Competition(user_control, autonomous)
pre_autonomous()
注: コンテストでプロジェクトが機能するためには、 これらの関数をプロジェクトに残しておく必要があります。各セクションのコメントで示されている箇所にコマンドを追加してください。
セットアップには、 pre_autonomous 関数を使用してください。
def pre_autonomous():
# プログラム開始時に実行するアクション
brain.screen.clear_screen()
brain.screen.print("pre auton code")
wait(1, SECONDS)
pre_autonomous 関数は、ジャイロのキャリブレーション、変数の設定、その他のデバイス設定など、ロボットが必要とするあらゆるセットアップに使用されます。これらのコマンドは、プロジェクトが開始されるとすぐに、試合の自律的な部分が始まる前に実行されます。
すべてのコマンドが適切にインデントされていることを確認し、pre_autonomous とautonomous 関数の間にガイドラインが表示されるようにしてください。
注: 設定が不要な場合は、この関数は空のままで構いません。
自律型
def autonomous():
brain.screen.clear_screen()
brain.screen.print("autonomous code")
# ここにautonomous code を記述します
自律 機能は、VRC マッチの自律走行パート中にロボットを制御するために使用されます。この関数内のコマンドは、試合が自律期間に入ったときに実行されます。
すべてのコマンドが適切にインデントされていることを確認し、pre_autonomous とautonomous 関数の間にガイドラインが表示されるようにしてください。
注: 設定が不要な場合は、この関数は空のままで構いません。
ユーザーコントロール
def user_control():
brain.screen.clear_screen()
# この while ループ内にドライバ制御を配置
while True:
wait(20, MSEC)
user_control 関数は、VRC マッチのドライバー制御部分でロボットを制御するために使用されます。 この関数内のコマンドは、試合がドライバーコントロール期間を開始したときに実行されます。
注: while True ループは、ロボットが試合全体を通して V5 コントローラーからの入力に応答するように上記のように示されています。
ユーザーコントロール部分をコーディングする際は、while True ループ内のすべてのコマンドが適切にインデントされていることを確認してください。図に示すように、2本のガイドラインが見えるはずです。 1つ目は、while True 内にあるためです。もう1つは、コマンドがwhile True ループ内にあることを確認するためです。