NHK学生ロボコン2025技術公開 ソフトウェア(制御構成・ドリブル制御・投擲制御)
ladaと申します。 学ロボ2025では下位レイヤの制御をしていました。この記事では、制御構成およびドリブルと投擲の制御について解説をしていきます。 制御構成 両機体とも、各機体に搭載したノートPCでROS 2 Humbleを使って制御しています。 下位レイヤはNUCLEO-F767ZIを搭載したメイン基板を機構ごとに搭載して制御しており、PCと各メイン基板はmicro-ROSによって繋がっています。 メイン基板の内訳は以下の通りです。 また、遠隔緊急停止用にESP32も使っています。 足回り 投擲 ドリブル(R1のみ) ドリブル制御 ドリブルは、PCからメイン基板にtopicとして指示を送り、メイン基板内でそれに応じたシーケンス制御を行います。 指示とそれぞれの手順は以下の通りです。 機構展開:ローラー部を展開すると同時に弁をボール装填時の角度にセットする。 ドリブル:ローラーを回転させ弁を開き、ボールが跳ね上がったら掬うためにハンドを閉じる。 それと同時にローラー部を収納しつつ弁を閉じ、ハンドを開く。 パスのための装填:ローラーを回転させつつハンドを閉じ、弁を開く。 その後ローラー部を収納し弁を閉じ、ハンドを開く。 ローラー部の展開・収納 ローラー部の状態は、収納時に押される位置に取り付けられたリミットスイッチで管理しています。 そのおかげで、走っている最中に勝手に展開される事故を防げます。 また、展開・収納の制御は位置制御ではなく速度制御で行っています。 当初は位置制御を用いるつもりでしたが、試してみたところモータの回転が速すぎて、ベルトが滑ってしまい展開できませんでした(2次ビ直前)。 そこでゆっくり回転させることができる速度制御を用いました。 ちなみに速度制御のPIDゲインは展開時と収納時とで変えています。 細かい制御の話 ドリブル時にハンドを閉じるタイミングは、弁を開いてから決められた時間が経ったら閉じるというふうになっています。 osDelay()だらけのゴリ押し実装です。 当初はToFセンサを使いバウンドしたボールを検出することで、ボールを...





