2016年4月30日土曜日

4月授業内容

1.4月授業内容
2.今月の課題
3.今後の授業スケジュール
4.ひと言


1. 4月授業内容


1.0 <スタートアップ/プライマリーコース>



 割愛します。


1.1 <ベーシックコース『ケンドーロボ』>



 文字通り、剣道のように竹刀(しない)を振るロボットです。
剣道には、ここぞという時に、前進と「面!」の2つの俊敏な動きが必要です。

 1日目では、モーターで左右両輪を駆動し、前進・後退できるようにしましたが、竹刀は手動で前後に振り動かせるだけです。
竹刀を自動的に振るには動力源動作タイミングを与えなくてはなりません。
2日目に解決します。

 動力源として、モーターを前進に利用してしまっているため、輪ゴム(の弾性力)を利用します。
前面に引っ掛けた輪ゴムが、竹刀を後方へ振り構えるほど引っ張られます。

動作タイミングとしては、背後に振り構えた竹刀を振り下ろさないよう固定するロックが、相手にぶつかった衝撃を検知して外れるようロック部品と一体化してスライドするバンパーを前部に取り付けました。
衝突して押し込まれるバンパーを利用する点が、先月の『う王さ王』と似ていますね。

 このロックがうまく外れるための工夫が設計されています。それは“スピード”です。
スピードがあればこそ、ぶつかった衝撃が大きくなり、ちゃんと検知できるのです。


だから、今回のロボットはちょろちょろと速く走り、捕まえるのが大変ではありませんでしたか?
設計上の違いは、モーター軸に取り付けるのがいつものピニオンギアではなく、もっと大きなギアMでしたね。
こうしてモーターの回転数を落とさずにタイヤに伝え、速く走らせていたのです(*1)。



 最後の競技は「一本!」勝負。早く竹刀を振り下ろし、相手に当てた方が勝ちです。
バンパーを長くして早めに相手を検知し、それ以上に竹刀を長くしてリーチを伸ばすことが一つの指針ですが、あまり欲張ると重くなって、動作にキレがなくなりましたね。
案外、ノーマル仕様の小柄なボディの方が、体格のいい先輩たちを打ち負かしていました。

 なお、ケンドーロボ同士を対面させて、いざ取り組もうと発進させても、真っ直ぐ進まずに相手を打てないと悩むことがありました。

左右のタイヤは同一シャフトで直結しており、必ず等しく回転するので(*2)、一旦走り出した後はほぼ直進するのですが、最初の急加速する瞬間は、大きな力(タイヤのグリップ力)が地面にかかり、摩擦や重心バランスの関係で、どちらかのタイヤが多めにスリップしてしまうことが原因です。

底にパーツを付けて、地面との摩擦スリップバランスを取ることで直進したり、バランスを崩すことで曲がったりするようにも調整できましたね。


*1 同じ大きさのギア同士は、回転速度が同じに保たれます。このことを「減速しない」と言います。先月の『う王さ王』の改造例としても紹介しました。

*2 モーターのギア(出力軸)が右タイヤを先に回していることが曲がる原因と分析する人もいましたが、そうではなく、左右の重心バランスを崩している面が影響していると考えられます。


1.2 <ミドルコース『ロボバッター』>


 ピッチャーとバッターの2部構成です。
モーターは1つだけなので、その動力はバッターに譲って、ピッチングは輪ゴムを使います。
逆に設計することもできますが、この方がコントロールし易いのでしょう。

 ピッチャーロボ(ピッチングマシン)の構造は、中世の戦争で利用された投石器そのものです。
いろんな物を投げ飛ばして、飛距離を観察してみました。
そこそこ重い物(ギアの塊)で体積が同程度なら、軽い方が遠くまで飛びました。
限られた輪ゴムのパワー(弾性エネルギー)で加速させ易いためです。

同程度に軽い物(ボール状に丸めたA5用紙)なら、堅く丸めて体積を小さくした方が飛びました。
空気抵抗を受け難くなるためですね。

 さて、投げられた物をバッティングするのは至難の業です。
バットを振るタイミングの問題もありますが、そもそもピッチングが安定せず、同じ物を投げても飛距離がばらばら。
玉が加速中にバスケット(ピッチャーの手)の中で動いてしまい、飛ばす方向やスピードが変わるからと考えられます(*3)。
まして、バッティングマシンのスイッチを手動でオンにする1日目のロボットでは、全くと言っていいほど玉に当たりません。


 2日目にこれを自動化します。
電池ボックスから出たケーブルは、先ずはピッチャーに備え付けたタッチセンサー(黒)を経由させ、延長ケーブルを通して遠くのバッターに接続します。
こうして、ピッチャーが玉を投げ終わった瞬間にバッター内のモーターが回り始め、バットを自動的に振るようになります。

 さらに、いつまでもバットをぶん回し続けているのも格好悪いので、振り終わった位置にタッチセンサー(グレー)を備え付け、モーターを止めます。
これでバットを一回転分振るだけの、省エネ野球部になりました。

 電池ボックス ⇒ タッチセンサー(黒) ⇒ タッチセンサー(グレー) ⇒ モーター

のような直列接続により、両方のセンサーがオンになる間だけ通電する仕組みができ上がります。

 さて、肝心のバッティング精度ですが、ピッチングが安定しない中、タイミングだけは再現性を出せるので、二者間の距離や投球角度(*4)を調整すれば、5回中1回くらいは当てられるようになりました。
こうして我々人間は、機械化の恩恵に与(あずか)るわけですね。


*3 つまり、バスケットの中でぐらつかない大きさの玉にすることが、ピッチングを安定化するためのコツです。

*4 同じ初速度でも、投げ上げる角度によって飛距離が変わります。一般に45°が最も飛ぶと言われますが、実際は玉によって異なる空気抵抗を受けるため、40°前後になるようです。初速度と角度は、アームが止まった(ピッチャーの手を離れた)瞬間で決まります。


1.3 <ロボプロコース『オムニホイールロボット(1)』>


 春タームとして、オムニホイール(Omnidirectional Wheel;全方向車輪)ロボットを製作し、リモコン操縦するまでの1ヶ月目の授業です。

 1日目は製作です。
2層の円形ボードにモーター、オムニホイール、マイコンボード、無線モジュール、電池ボックスを組み付け、配線コネクタを差し込んでいきます。
殆どの作業がネジ留めですが、組み付ける順番の解決と、手先の器用さが要求されます。
日常において、あまり経験しない作業なので、悩みながらもパズルのようで楽しかったのではないでしょうか。


パソコンからサンプルプログラムを転送し、3つのホイールを指示通りの速さ・向きに回せることを確認して終了しました。

 2日目に、ゲームパッド(プレステ用と同等!)と無線通信リンクを確立し、パソコンからラジコンプログラムを転送すると、アナログスティック(*5)を倒した分だけの速さで前後左右に移動することを確認しました。

また、調整用プログラムを転送してロボットの動きを観察し、個体差(重心やホイールの摩擦力の違い)による進行方向のズレを補正するための調整値(*6)を割り出しましたが、これは今回の学習テーマの本質ではありませんので、あまり気にしなくて良いです。


 どのスティックをどれだけ倒したか、どのボタンを押したかにより、ロボット(3つのモーター)をどの向き(電流の+-)にどれくらいの速さ(電圧)で動かすかは、全てあなた(プログラム)が決めることです。
マイコンは、得意な計算・判断だけを、あなたに代わってあなたが決めたルール通りに素早く実行し、各部品に必要な命令(数値による指示)を間違いなく出してくれる便利な道具と考えてください。

 オムニホイールの特徴は、黒い樽型ローラーの作用により、普通のタイヤとしての進行方向(回転方向)とは垂直の横方向(ホイールの回転軸方向)にズルズルっと滑ることです。
このホイールが120°間隔で3つ装着されることにより、自由自在に移動・旋回できそうなことは分かりましたが、これを力学的・数学的にどのように捉え、プログラム上の数値にどのように反映すべきかについては、次回で学びます。


*5 アナログ(連続量)はデジタル(離散量)の対義語ですが、アナログスティックは、倒した向き・強さを -128 ~ 127 など、マイコンが扱いやすい整数(とびとびの値=離散量)に変換しているため、厳密にはデジタル式なのですが、ON/OFF判定だけの○×△□ボタンと違って、最小値~最大値を十分細かく刻んで表しているため、人間には滑らかな連続量で制御しているように感じられます。

*6 プログラム上の調整値“0.9f”などは、数学でいう実数(連続量)に相当し、細かな小数で計算するための拡張された表現方法ですが、これもマイコン内部で扱う以上、厳密にはデジタル値(離散量)です。


2. 今月の課題

 次回授業日までに完了してください。
 ◎は必須、○は推奨、△は任意です。○△は能力に応じます。

 <スタートアップ/プライマリーコース>
  特にありません

 <ベーシックコース>
  ○ 4面図スケッチ(専用方眼紙)
  ○ 見取図スケッチ(テキスト最終ページ/難しければ写真の模写から)
  ○ 上記授業内容を分かるまで音読する
   (概ね3年生以上/低学年は補助 or クイズ出題形式で)

 <ミドルコース>
  △(長尺につきスケッチ免除)
  ◎ 上記授業内容を分かるまで音読する

 <プロフェッサーコース>
  ◎ 上記授業内容を分かるまで音読する
  ◎ テキストp.24のサンプルプログラム[Remote2]をベースに、次の機能を実装する
   ・「高速モード」よりも俊敏な「超高速モード」を追加する
   ・安全対策の為、L1/R1ボタンの両押し時に「超高速モード」に入る


3. 今後の授業スケジュール


[東福間]第1・3土
   -  9:00~ 理科実験・中級
   - 10:30~ ロボ・ミドル
   - 13:30~ ロボ・ベーシック

 5~7月は原則通り、8月は7/30, 8/20の予定です。


[東福間プロ]第2・4日
   -  9:45~ ロボ・プロ1年目

 5月は5/15, 29です。6・7月は原則通り、8月は8/7, 28の予定です。


[中間]第2・4土
   - 13:30~ ロボ・ベーシック/プライマリ

 ・5/14 第1回 2F会議室1
 ・5/28 第2回 3F会議室3

 5~7月は原則通り、8月は8/6, 27の予定です。


[小倉北]第1・3日
   - 10:00~ ロボ・ベーシック
   - 13:00~ ロボ・ミドル
   - 15:00~ ロボ・ベーシック第2部(5月~)

 ・5/ 8 第1回
 ・5/22 第2回
  10:00~ 5F小セミ(ベーシック/プライマリ)
  13:00~ 5F小セミ(ミドル)
  15:00~ 5F小セミ(ベーシック/プライマリ第2部)

 ・5/29 第2回 臨時
  10:00~ なし
  13:00~ 4F和室(ミドル by 八幡東教室 中野先生)
  15:00~ 4F和室(ベーシック/プライマリ)

 プライマリは幼児向け6ヶ月コースです。
 6・7月は原則通り、8月は7/31, 21の予定です。
 7月はムーブフェスタの為、6/2まで確定できません。代理施設での開催となる可能性があります。


4. ひと言

 太い協力関係にある八幡東教室の中野先生と、『マイコン・電子工作・プログラミング』をタネにした臨時講座を開けないか、検討を始めます。
高度なプロフェッサーコースまでいかなくても、小学生が気軽に作れて、感動できて、持ち帰れる…そんなワクワクする講座を考えます。
 たまにはブロックを離れて、また違った視点からロボットを捉え、センスを磨いてプロコースに進んで頂けたらとの思いで、このGWに模索します。


東福間・中間・小倉北教室 佐藤