展開済みの今年度のロボコン資料をテキスト化しつつわからないところを自分用にメモした記事。
今年度のETロボコン資料
アドバンスドの内容
2024/4/15時点の公開内容
走行体 HackSPi Clione
- 超音波センサ
- カメラ Rasberry Pi カメラモジュールV2 又は V3
- RasPi用モバイルバッテリー 110g以上
- RasberryPi 4 model B
- ジャイロセンサー
- モータ
- カラーセンサー
難所① ダブルループ
ルール
- チェックポイント通過でボーナス
- チェックポイントの通過は一方通行
ポイント
- 真円と楕円の組み合わせ
- ラインの交差前後でのエッジ切り替えが必要
- 青マーカーを用いた位置補正が可能
難所② ロボコンスナップ
ルール: ミニフィグ撮影
- 楕円ループの中央に置かれている小さなフィギュアを撮影し、ネットワークで送信
- ミニフィグの向きは走行のたびに変化する
- 正面から撮影できると高ボーナス
ルール: 列車撮影
- 真円ループの内側を走行している列車を撮影してネットワークで送信
- 特定の状態を撮影できると高ボーナス
ポイント
- 顔を検知する手法
- 動いているものの検知・撮影
難所③ ブロック運搬
ルール
格子の各所に置かれている障害物を回避しつつ、ブロックを運搬する
- 障害物を倒さず通過できると追加ボーナス
- 所定の運搬先へ運ぶことで追加ボーナス
ポイント
- 走行体のカメラで物体検知
- 黒線とサークルを使って自己位置を把握
- ブロックが飛び出さないように走行体を制御
- アドバンスドクラスのブロックはランダム配置
競技イメージ
火星探査/月探査の探索結果送信、農業での作物監視や農薬配布
- ダブルループ: 周回軌道
- ロボコンスナップ: 探索結果送信
- ブロック運搬: 探索&作業
開発環境の構成
RasPike環境
- aspファイルそのもの(C/C++, EV3RT/ASP3)を実行可能
- Bullseye(Linux)
- raspi/SPIKEともに実時間で動作
- raspike.pyが実行委員会より提供される
- micropythonでRTOS(SPIKE-RT)を利用可能
- プログラムは基本RasPi上で開発
- PCから繋ぐ形式を想定するが、RasPiを直接ディスプレイに繋いでも良い
- SPIKEへのプログラム転送はPC/RasPiのどちらからでも可能
- RasPi単独でも開発は可能(ただしリポジトリへの格納は面倒)
- Bluetooth
- SSH/VNC/RDP
- 教育用SPIKEアプリ VScode
- Mu-Editor
自分メモ
RasPike
- リポジトリ: https://github.com/ETrobocon/RasPike
- ETロボコンでSPIKEを使用するためにETロボコン実行委員会で作成された環境
- LEGO(R)のSPLIE Prime(R): https://education.lego.com/ja-jp/products/-spike-/45678/
- 基本的なプログラムはRasPi上で動作させ、そこからモーターなどの制御情報をSPIKEに伝え、SPIKEからはステータス情報を伝える構成
- SPIKE側にはmicro pythonで作成した受け用プログラム(raspike_etrobo_main.py)が受信用のプログラムとして動作
技術的な
ライントレース
顔検知
- Open CV
https://qiita.com/UnaNancyOwen/items/8c65a976b0da2a558f06
https://zenn.dev/ncdc/articles/665eeefb1205ac
動いているものの撮影、検知
- 動体検知
https://canon.jp/business/trend/motion-detection
https://www.axis.com/blog/secure-insights-jp/2019/05/29/motion-detection/
aspファイル
- Active Server Pages (https://www.filetypeadvisor.com/ja/extension/asp)
- ETロボコン用ASP→カーネル?
https://www.toppers.jp/etrobo-asp.html
Bullseye(ブルズアイ)
- Debian11 コードネーム:bullseye
https://pc-freedom.net/today_pc_story/debian-11-bullseye-released/
https://codezine.jp/article/detail/14676 - GNI/Linuxディストリビューションの最新安定版
- LinuxカーネルにexFATファイルシステムのサポートを提供する最初のリリース
Mu-Editor
- MicroPythonを使ったmicro:bitの開発環境としてのエディター
https://sanuki-tech.net/micro-bit/micropython/install-mu-editor/ - micro:bit: BBCが主体で作られた教育向けマイコンボード
https://microbit.org/ja/
SSH/VNC/RDP
リモート接続のプロトコル(https://atmarkit.itmedia.co.jp/ait/articles/1410/16/news014.html)
- RDP(Remote Desktop Protocol): Windows Serverの「リモートデスクトップサービス」や、Windowsデスクトップの「リモートデスクトップ接続」で使用される、マイクロソフト標準のプロトコル
- VNC(Virtual Networking Computing): クロスプラットフォーム対応のリモートコントロールソフトとして古くから人気のソフトウェア。デスクトップ版Linuxの多くはVNCによるリモート接続をサポートしており、Windows向けにもVNCに対応したさまざまな無償/有償ソフトウェアが存在。
- SSH: UNIXやLinuxの端末コンソールに接続する標準的なプロトコルで、Terminalsは“ダム端末”ソフトウェア