はじめに
本記事を CoderDojo アドベントカレンダー2023 の12月16日に投稿します。
まずは参加してくれた小中学生の子どもたち・保護者・メンターの皆様に感謝いたします。ありがとうございました。
小中学生向けのプログラミング倶楽部「CoderDojo青梅」では、上級者向けにラズベリーパイを使ってPCでリモート操作できる走行ロボットを開発するイベントを毎月開催しています。そして1年半かけてようやく形になったので、みんなで競技会を開催することにしました。ここに至るまでの苦労の活動を記載します。
ラズタンク構想
一番の目玉機能は、ワイヤレスでラズパイを走行させること。RaspberryPi 3B+とタミヤのキャタピラーを組み合わせて「ラズタンク」と呼びます。ラズパイ専用カメラを付けて、ノートPCからラズパイにリモートデスクトップ接続してカメラ映像を見ながら、リモート運転します。つまり、月面の走行ロボットを地球の管制塔からリモート運転するような感じを実現したい。
材料費の見積
CoderDojoは参加費が無料のコミュニティです。ロボットを作るにはお金がかかります。
できるだけ安く、だけど満足する技術は詰め込みたい。部品は「タミヤのダブルギヤ・モーター、トラック&ホイール、ユニバーサルプレート、乾電池ケース、ラズパイ専用カメラ、USBモバイルバッテリー、モータードライバーIC、スペーサーやネジなどの材料、ケーブルなどの小物」これらに最低8,000円はかかる。後々、SDカードを買い足すので実際には予算を超過することになる。
参加する小学5年から中学生までの子どもたちが、作り始めてから未完成で材料費を無駄にしないよう、最後まで完遂することを条件としつつ、保護者に負担をお願いする。
最初の一歩
ラズタンクを構想したものの、毎月たった2時間では完成するまで何カ月かかるか予想できない。そこで、最初の数回は王道のLチカ体験を題材とした。たかがLチカしかし、Linux コマンドでGPIOを操作したり、連続点滅できるように python コードを入力したり、大人メンターでもくじけそうな内容なので油断はできない。その後もフルカラーLEDやスイッチ入力などの電子工作を3ヶ月ほど継続してみて続けられそうなので材料購入をしました。
プロトタイプ制作
先発隊メンバー数名で設計図のない自走車を組み立てする。ホワイトボードでイメージを共有する。
初号機3台が完成した。モータードライバーを幾つか壊したので、電源ONする前に全ての配線をメンターが目視確認することの大切さを知った。
python コード
このプロトタイプは、リモートデスクトップのカメラ映像アプリを立ち上げているのでモータードライバーを駆動するGPIOだけ操作すれば一応リモート操作ができる。というもの。3台とも動かすことはできた。
▼コードサンプルはこちらのGit
https://github.com/CoderDojoOme/razpi
新しい仲間が加わった
プロトタイプを見た仲間と一緒にラズタンクの量産が始まった。
OpenCV, Jtalk, Wi-Fiアクセスポイント化
ラズパイなので python でできることといえばOpenCVで画像認識してみたいし、イヤホンジャックがあるので音声合成もやってみたい、そもそも10台もラズパイがあるとWi-Fiルーターのアクセス数がオーバーしているのでラズパイの無線LANをアクセスポイント化してしまった方がPCから直接アクセスできるので遅延も減るかなと思い数回、講義形式とワークショップをすることに。
そういえばLチカも進化して、押しボタンを押すと自働車用の信号が黄色から赤に変わって、歩行者用信号機が青になるロジックを python で制作した子も登場。すごいぞ。
試走
リモート操作の練習、テスト、壊れたら修理。魔改造したいアイディアは出るが時間が足りないので形にすることが難しい。
そして大会へ
一気に話は飛んで大会の3か月前。12月に大会を開催することを発表して、それまで残り3ヶ月間は各自で整備・チューニングをすることにした。サーボモーターも配って、各自好きなしかけを作っていいよ。メンターは集まって大会のレギュレーションも検討。
そしてCoderDojo青梅カップ2023大会を開催
大会の様子は、CoderDojo青梅のホームページで開催報告を掲載しておりますのでご参照ください。
まとめ
現在9名の子どもたちがラズタンクを開発しています。今回見学している3名が新たに加わるかもしれません。もう少し時間を多くとって python コードの解説をして改造できるように工夫してみたいと思います。そして、せっかくなので大会レギュレーションを見直しして次の夏くらいにもう一度大会を開催できたらいいなとメンターのみんなと話し合っています。