2.今月の課題
3.今後の授業スケジュール
4.お知らせ
1. 2月授業内容
1.0 <スタートアップ>
割愛します。
(タッチセンサー黒とグレーの機能を調べた後、自ら直列につないで現象を確かめる年長さん)
1.1 <ベーシックコース『クルクルクリエイター』>
第4回アイデアコンテスト全国大会(2014年)ベーシックコース最優秀賞作品「御家紋(ごかもん)くん」(当時小2)がベースの、ロボット教室カリキュラムとして初登場の自動お絵かきマシンです。
このアイデアは凄(すご)いですね。そして難(むずか)しいですね。
作るのも、動かすのも、アドバンスコース、いや、それ以上かもしれません(*1)。
詳(くわ)しい原理は難しすぎるので、「いっそベーシックコースで、深く考えずに、いろいろ試(ため)して遊びましょう」といった感じです。
単純なギアの回転運動(*2)から、コースター紙に随分(ずいぶん)と複雑な模様(もよう)を描(か)けるもんだな、と思いましたか?
そうです、それは大事な発見です(*3)。
しかも、下記を変えることで、また模様が変わります。
A) 回転するギアLとギアM3枚のペグ穴のうち、どこに2個のペグSを挿(さ)すか
B) ペンホルダーのロッド15アナとロッド9アナのどこに2個のペグSを挿(さ)すか
A)では、主に模様が変わります。B)では、主に大きさが変わります。
回転台を回らなくする改造(テキストp.24)で、ペン先の軌跡(きせき)が見えてきますが、これだけでは面白くないですね。
ペン先を回すのとは違うタイミングで台紙を回転させることで、複雑な模様が表れているのです。
模様が複雑すぎて美しくないと思う場合は、ペン先の動きをもっと単純化しましょう。
ペン先の動きが複雑なのは、ギアLとギアMの回転数が異なり、2個のペグSが異なるタイミングで回るからです。
ギアMへ回転を伝える中間のギアLを外して、ギアMを回転しないよう固定すると、よりシンプルな幾何学(きかがく)模様になります。
ペン先が一度描いた軌跡に戻ったら(*4)、ペンの色と、A) や B) を変えて、また描きます(*5)。
この方が綺麗(きれい)ですね。オリジナルのコースターを描いて、家族や友達にプレゼントしましょう。油性ペンがいいよ。
*1 どんな模様になるかを予想するのは、高校生でも、大学生でも、大人でも(先生でも)超難しいです。
*2 本当に大事なのは、ギア上に留(と)めたペグの周回運動をリンク棒(ロッド)で取り出していることです。
*3 単純な動作でも、たくさん組み合わせると、複雑な処理や現象が実現します。
神経細胞が集まって脳を形作るように、電卓やコンピュータも、「~の反対!(NOT)」と「両方ともOK?(AND)」のたった2種類の信号処理部品を組み合わせて作ることができます。
だから、この世の地形や現象、人間の行動さえも、単純な法則の組合せで成り立っているとする研究があり、今も続いています。
*4 回転数の比は、回転台:ギアL:ギアM = 1/5:1/3:5/9 = 9:15:25 なので、コースター紙が9回転して元の軌跡に戻ります。
*5 一度ペンを外して、回転台を空回しさせてからまた描くだけでも、模様が重なっていい感じになります。
1.2 <ミドルコース『クルクルメリーゴーランド』>
2013年10月ベーシックコース『ロボ・ザ・メリーゴーランド』の復刻版です。
遊園地アトラクションの代表格、メリーゴーランド、いいですね。
英語的に正しくは「メリー・ゴー・ラウンド」、日本語では「回転木馬」とも言います。
ヨーロッパでは、蒸気機関の時代から親しまれてきました。
華やかに回る光景に大人も癒される、何ともノスタルジックな遊具です。
機械の内部は見たことがなくても、経験からステージの回転と馬の上下運動がリンクしていることは分かるでしょう。
およそ唯一の回転動力源を利用した、アナログな機械だと予測がつきます。
ロボットを製作する上で、「実物に沿った構造か?」は大事ではなく、
「モーター動力を種々の回転運動や上下運動に分配するにはどういう方法があるか?」
を考えるきっかけにできれば良いと思います。
先ず、地面に寝かせたタイヤLの中心にモーター軸シャフトを挿して、中央の回転塔を直立させます。
スイッチを入れると、タイヤLを固定脚にして、回転塔(モーター本体)がゆっくり回りますので、これをステージ中央の穴に挿すことで、ステージも一体化して回ります(*1)。
すると、そのステージの回転を支える円周上配置のタイヤS4輪が回り、各タイヤSの回転がステージ上の小物を動かします(*2)。
タイヤの回転が動力源に再利用されているわけで、シャフトやギヤの連結だけが動力伝達手段ではないことを伝えています。
また、ステージ上の小物は、タイヤSの回転から、次のようなバリエーション豊かな運動を実現しています。
・椅子 … マイタギア(傘歯車)で軸方向を水平→垂直変換して回転
・馬1, 鳥 … ロッド3アナによるカム作用(*3)で上下
・馬2 … その両方による間欠回転
これらの運動は全て、タイヤSの回転を通して、間接的にモーターの負荷(ふか)となりますが、回転塔内にコンパクトに収めた3段の3:1減速ギヤボックス(1/3×1/3×1/3=1/27)が十分な回転トルクを出しますので、力の問題はありません。
小物やステージがスムーズに動かない(カクカク動く)場合は、下記の摩擦力に注意します。
・ステージが回らない ⇒ 中央のタイヤLがしっかり接地し(摩擦:大)、ステージ下のタイヤSが軽く回る(摩擦:小)よう調整
・小物が動かない ⇒ 直下のタイヤSを手で回してみて、小物の支柱がスムーズに上下/回転する(摩擦:小)よう調整
ベーシックからミドルに昇格したのも頷(うなず)けるほど、突き詰めれば考察ポイントの多いテーマでした。
ちょっと、メリーゴーランドに乗りたくなったでしょ?(先生も…)
*1 だから、ステージ中央の穴に挿してタイヤLが浮くようならダメですね。
*2 実物では、回転ステージ下の狭い空間ではなく、天井のクランクから馬の支柱を吊り下げていることが多いようです。
*3 回転部品(ロッド3アナ)の外形をなぞるジョイント部(シャフトと先端のマイタギア)が生む、周期的な往復運動を利用したリンク作用
1.3 <アドバンスコース『バグモジョラ』>
2ヶ月目の授業です。3日目は、戦車型リモコン(手動操縦)に代わり、光センサー(自動操縦)を実装しました。
これで黒いラインを自動的に辿ることができるようになりました。
このようなロボットを“自律型ロボット”といいます。
「自分で律する(コントロールする)」という意味です。
「自立(自分の稼ぎで生計を立てる)」ではありませんよ。
一口に黒いラインを辿るといっても、どのようなメカニズムでしょうか?
光センサーの構造と機能をおさらいします。
裏面にある2つの“目”は、一方が発光ダイオード(赤外線)で、他方がフォトダイオード(受光部)です。
家電リモコンの送信部と受信部がセットになったようなもので、赤外線が白地で反射するか黒地で吸収されるかに応じて、■印と●印の2つの出力ジャック(左右のモーターを接続)のいずれか一方に入力電流を通すよう切り替えます。
だから出力の“オフ”期間はなく、“白でオン”になるモーターと“黒でオン”になるモーターが絶えず交互に動作する状況を利用してコントロールしているはずです。
コントロールとは、状況を判断しながら複数の状態を切り替え続けることだからです。
ということは、黒いラインのどこを辿るのか?
端(白と黒の境界)ですね。2つの出力ジャックを差し替えることで、左端が好きなロボットと、右端が好きなロボットに性格が分かれますよ。
4日目は、最後の競技に向けたロボットの最終調整です。
黒いライン上で出くわした2匹のバグモジョラ(♂)が、そこのけそこのけ、パワーバトルを繰り広げます。
進路を脱線した方が負け。勝つための工夫と効果について考察します。
1) 重くする
しっかり歩けるよう重心バランスに注意すれば、摩擦力・慣性力を上げるので吉でしょう。
慣性(かんせい)力は説明していませんが、バイクが車に弾き飛ばされるのは、この力のためです。
2) 足裏にゴムを付ける
摩擦力を上げるので吉です。いくらパワーがあっても、床が滑ってはダメですね。
3) 長い角を付ける
「相手に早くリーチできる」という理由から、過去に見受けられましたが、
「相手から見ても自分に早くリーチする」こと(相対性)になります。
これだけなら“おあいこ”ですが、寧ろ自分にとって“凶”です。
てこの原理により、相手の力が軽く角先にかかるだけで、自分の進路が容易に変えられてしまうからです(*1)。
今月は長いですね…。まだ続けます。なぜ4本脚を6本脚に増やしたか?
a) ムシだから(ごもっとも!)
b) 左3脚と右3脚とは独立駆動(モーター2個、つまり自由度2)であり、
特に旋回中は片側の脚だけで推進力を生む必要があるところ、片側2脚では、
前に戻る脚を浮かせて後方へ蹴る足の推進力を妨げないように姿勢を安定させることが難しいから
c) 直進時においても、下記2点に起因して、左右の脚の角度(位相)が固定的な相関関係をもたない(いつも同位相とか逆位相とは言えない)ため、やはり片側の脚ごとに推進力の確保が必要となるから(*2)
・手動操縦または自動操縦による左右モーターの非同期的オン/オフ
・左右モーターの個体差や負荷変動による回転数のズレ
ちょっと難しいですが、「なぜ?」という疑問を突き詰めると、これだけの言葉が出てきます。
先生もかなり頭をひねって書きましたので、「本当かな?」「どういうことかな?」と疑問をもちながら読んで、ロボットを改良したり質問をまとめたりしてください。
*1 このように、観念的アイデアが物性的効果に結び付かないことはよくありますので、常に深く考えてみましょう。
そのためには、経験と失敗から学ぶ(ヒントを探る)姿勢が大切です。
*2 4脚のまま左右が同位相だと、前後方向に屈伸運動をするだけ。
1.4 <プロ1年目コース『不思議アイテムII(2)』>
センサー類を駆使する、冬タームの2ヶ月目です。
1日目のテーマは、「ベースロボットの組み立て」です。
何のことはない、左右両輪(2モーター)を独立駆動して、前進・後退・左右旋回を自在にこなす土台のロボットを製作します(*1)。
戦車型ラジコンプログラム[Tank]を転送して操縦したり、時間制御プログラムで決まったコース(円・四角・8の字など)を自動的に走らせることはできますが、まだセンサー類が無いので、外界からの入力情報を基に“考える”ことはできません。
2日目のテーマが、「カラーセンサーロボット」です。
その1つ目は、「ライントレーサー」です。
カラーセンサーを下向きに取り付け、地面の明暗(白黒)情報だけを処理し、黒いライン(の縁)をたどるロボット[Tracer]に仕立てます。
「白なら右へ、黒なら左へ」旋回するように片輪を交互に駆動する制御方式は、アドバンスコースのテクニカルコンテストと同じですね。
マイコンが認識する明度(明るさの数値)は、環境光や反射率はもちろん、センサーの個体差、電源電圧(*2)にも左右されるため、各々のロボットで閾(しきい)値 colorIsBlack(1000) を変更する必要がありました(*3)。
2つ目は、「カラートレーサー」です。
カラーセンサーをヘッドライトのように前向きに取り付け、前方景色の色相(色味)情報だけ(*4)を処理し、特定の色に向かうロボット[ColorTracer]に仕立てます。
サンプルプログラム中、色相 h を使って“if(h>180 && h<270) {前進せよ;} else {停止せよ;}”となっています。
これは、数学的には 180°<h<270°のことで、色相環(先月第2回テキストp.12)で確かめると“青”ですね。
“緑”なら“if(h>60 && h<150) …”くらいでしょうか。
“赤”は難しいです。2つの変域 0°≦h<30°, 300°<h<360°がありますので、“もし(hが0以上 かつ hが30未満)または(hが300超 かつ hが360未満)ならば”のように論理的に記述しなければなりません。
“if( (h>0 && h<30) || (h>300 && h<360) ) …”となります(*5)。
走り方(タイミング、スピード、軌跡など)に変化をもたせて、好きな色を見ると近づいて行く愛らしいロボット(闘牛?)に仕上げてみましょう。
“鳴く”と面白そうですね。
最終月は、「ウルトラソニックロボット」で今タームを仕上げます。
*1 これだけで普通の自動車(1エンジン)を遥かに凌駕する自由度を獲得できるのですから、将来は電気自動車に替わっていくわけです。
*2 パソコンからのUSB給電の場合と、電池駆動とで数値が変わるという…盲点があります。
*3 アドバンスコースの光センサーにも、+ドライバーで回せる感度調整つまみがあります。
プロでは、よりスマートに、調整用プログラム[ColorSensor2]実行中、Arduino“シリアルモニタ”を起動し、USBケーブル経由で白地と黒ライン上の数値をモニタリングし、その中間値を閾値として設定することもできます。
*4 1ドットカメラなので、人間なら瞼(まぶた)を瞑(つむ)ったまま外光の色を感じるようなものです。
*5 論理積(AND)演算子 && は、論理和(OR)演算子 || より優先順位が高い(先に演算される)ので、“if(h>0&&h<30||h>300&&h<360)…”と続けて書いてもOKですし、h=0~359の値しか取らないので、実は“if(h<30 || h>300)…”だけでもOKです。
1.5 <プロ2年目コース『倒立振子ロボット(2)』>
倒立振子? 2ヶ月目ですが、まだまだ、もったいぶりますよ。
自転車のムラタセイサク君や、一輪車のムラタセイコちゃんが誇らしげにCMに登場してからまだ10年そこそこ、ホットな技術なのです。順を追いましょう。
1ヶ月目で、チップに集積された3種の姿勢センサーのうち、加速度センサー、角速度センサーの機能を学びました。
今月の1日目は、残りの磁気センサーで遊びました。
磁気センサーの面白いところは、ロボットに目や耳(カラーセンサーや超音波センサー)が無くても、地磁気を検出して方角が分かることです。
地球上には重力もありますので、加速度センサーで“鉛直下向き”は分かりますが、水平方向は区別が付きません。
角速度センサーを使った積分プログラムにより、どれだけ回転したかが分かりましたが、累積誤差がつきもので次第にずれが拡大していくことと、そもそも初期状態(例えば北向き)は与えてやらねば方角が分からない欠点がありました。
その点、地磁気ならば、いつ、どこで、どんな姿勢で電源を入れても、立ちどころに北が分かります。
先の2センサー同様、3軸(XYZ)検知できますので、姿勢(傾き)までも分かるのです(*1)。
一見万能で、他のセンサーは不要のように聞こえますが、精度がイマイチ低いのです。
方位磁石でご存知の通り、磁場の揺らぎや場所により、微妙に異なる方角を指します(*2)。
コンパス程度の用途なら構いませんが、曲芸を披露するには不十分でしょう。
瞬間的な姿勢変化への追従は、加速度・角速度センサーの方が格段に優れていますので、こちらをメインに用いながら、地磁気センサーやGPSで長時間的な補正を掛けていくナビゲーションシステムのような利用法が適しています。
さて、ここまでの出力手段は、LEDマトリクスや7セグへの“表示”だけでしたが、「感じて、考えて、動く」のがロボットです。運動能力を与えましょう。
少ないハードでも、高い自由度で動き回れるロボットの形態と言えば、3輪のオムニホイールロボットですね。
2日目にこれを組み立て、マイコンボード、I/Fシールドに姿勢検出シールドを搭載します。
動くと、やはり面白いことになります。
どういう向きに置き直してもクルッと回って北の方角を向きたがる奴[MagCtrlOmni/2]とか、磁石に付いて行こうとする奴[MagCtrlOmni3]とか、どうしても我々人間の目には生命感が映ります。
ここで、「向きを検知して表示するのもモーターを回すのも同じようにできるけど、やっぱり動いた方が面白いよね!」と実感することだけが目的ではありません。
出力先がディスプレイなら、処理結果を送るだけで、ちゃんと表示されたかどうかなど調べる必要はありませんが、
物体の運動には様々な外乱要因が加わりますので、「あるべき状態(目標値)」と「今の状態(現在値)」にズレが生じることを前提にしなければ、高精度な制御はできません。
このズレを最小化するよう頑張り続ける方式を“フィードバック制御”と呼びます。
片や、決められた手順や時間・回数分だけ逐次実行して、結果を省みない無責任な処理方式を“シーケンス制御”と呼びます。
タッチセンサーやボタンの押下状態(1ビット=2値)を調べて条件分岐するくらいでは、とてもフィードバック制御と言えません。
身の回りの製品では、
・シーケンス制御 … 目覚まし時計、炊飯器、洗濯機(一部の高機能品を除く)
・フィードバック制御 … エアコン、給湯器、CD/DVDプレーヤ、車の自動ブレーキ(*3)
など、やはり賢そうな機械ほどフィードバック制御が多用されています。
北を向くだけのプログラム[MagCtrlOmni*]では、北を0°として扱いますので、方角のズレ(±)の角度分だけモーターを正逆回転させれば、強弱の効いた滑らかなフィードバック制御が(たまたま)実現しましたが、
これを、わずかな方角のズレでも素早く戻すようモーターを強力に駆動すると、振り子のように振動してしまい、いつまでも目標値に収束(しゅうそく)しなくなります(*4)。
つまり、「理想と現実のズレを解消しようとがむしゃらに努力すれば必ず報われるほど、甘くはない」という真理を突き付けられる訳です。
悲しいですね。もう一段、スマートさが必要なんです。
制御工学(理論)において、目標値とのズレを「誤差」、出力値の大きさを決めるために誤差に掛ける係数を「フィードバックゲイン」(または単にゲイン、利得)と呼びます。
ゲインを増やすほど素早くなりますが、必要以上に大きくして、ギクシャクした動きや振動にならないよう注意します。
地磁気センサー(X,Y軸)に代わり、角速度センサー(Z軸)を使って、下記のプログラムが紹介されています。
・[AngCtrlOmni] … 元の向きに戻ろうとする
・[AngCtrlOmniTrun] … 360°回って、その向きを維持しようとする
・[AngCtrlOmniTrun10rpm] … 10rpm(毎分10回転)で回ろうとする
プログラム中、現在の角(速)度 ang、目標値 Ref、誤差 Err、ゲイン Kp が見つかります。
大事なのは、「確定的な結果の保証よりも、現在の状態を客観的に知り、目標に近づこうと働き続ける」点です。
心に響きましたか?(佐藤にも突き刺さりました…)
次月こそ、いよいよ倒立振子ロボットの製作です。
*1 正確には、原理上、磁力線方向(南北に向かう水平な直線)の軸回りの傾きは感知できません。
*2 近くに磁石や、磁力を発生するスピーカーや電線があると、方位磁針が迷いますね。
これを逆手にとってプログラム処理すれば、電子コンパスプログラム[MagCompassMatrix]が磁石の方を追いかけたり、磁石を近づける距離で音程が変わるテルミンのような楽器[MagneticTone]も簡単に実現できます。
*3 車を持ち出したら、エンジン燃焼、カーエアコン、定速走行、スリップ防止など、枚挙に暇(いとま)がありませんが。
*4 手のひらに箒(ほうき)を逆さに立てる時など、皆さんも無意識に同じことをやっていますよ。ずっと全速力で手を動かすマヌケはいませんよね。
2. 今月の課題
次回授業日までに完了してください。◎は必須、○は推奨、△は任意です。○△は能力に応じます。
<スタートアップ/プライマリーコース>
特にありません
<ベーシックコース>
○ オリジナル課題プリント(3面図+設問)
○ 上記授業内容を精読する
(概ね3年生以上/低学年は補助 or クイズ出題形式で)
<ミドルコース>
◎ オリジナル課題プリント(3面図+設問)
◎ 上記授業内容を精読する
<アドバンスコース>
◎ 上記授業内容を精読する
<プロ1年目コース>
◎ 上記授業内容を精読する(該当テキストページを見ながら)
◎ カラートレーサープログラム[ColorTracer]を改変し、
赤(好き!)へ突進、青(怖い!)からはゆっくり後ずさり、
それ以外では停止するロボットに仕立てる
《ハイレベル挑戦》さらに、緑(臭い!)で旋回する動作を足せるかな?
【注意】色は色相 h で表し、赤:h<15 or h>315、青:195<h<255、緑:75<h<135 等で与えます。
動作を足すほど不意に動き回って危険ですので、特に後退時はスピードを抑え、
忙(せわ)しすぎる場合は反応する色相範囲を狭めて(停止範囲を広げて)下さい。
<プロ2年目コース>
◎ 上記授業内容を精読する(該当テキストページを見ながら)
3. 今後の授業スケジュール
日付の()は臨時、!は原則外、?は予定の意です。
[東福間]第1・3土原則
- 10:30~ ミドル/アドバンス
- 13:30~ ベーシック/プライマリ
・3/4, 18, 4/1?, 15?, 5/6?, 20?
[東福間プロ]第2・4日原則
- 9:45~ プロ1年目
- 12:45~ プロ2年目
・3/12, 26, 4/9, 23, 5/14, 28
[中間]第2・4土原則
- 13:30~ ベーシック/プライマリ
- 15:15~ ミドル(/アドバンス振替)
なかまハーモニーホール
※3/11 第1回 2F会議室1
・3/25 第2回 3F会議室2
・4/8, 22, 5/13, 27
※大小ホールイベント開催で駐車場が不足します。送迎の計画をお願いします。
[小倉北]第1・3日原則
- 10:00~ ベーシック/プライマリ
- 13:00~ ミドル
- 15:00~ ベーシック第2部/アドバンス
ムーブ
・3/ 5 第1回 5F小セミ
・3/19 第2回 5F小セミ
・4/2, 16, 5/7, 21
―――――――――― 振替提携教室 ――――――――――
振替希望は1週間前までにお願いします(許可制)
振替手数料540円/回をご負担下さい(お引落し)
所定コースのみお受けします
[八幡東]第1・3土原則
- 13:30~ ベーシック/ミドル(~3月)
- 13:30~ ベーシック(4月~)
- 15:30~ ミドル (4月~)
- 17:30~ アドバンス(4月~)
レインボープラザ4F by 中野司先生
・3/4, 18, 4/1, 15, 5/6, 20
[とばた]第2・4土原則/第3土臨時
- 第2・4土 13:30~ 全コース
-(第3 土 10:00~ 全コースは廃止)
ウェルとばた8F by 菅本進先生
・3/11, 25, 4/8, 22, 5/13, 27
[小倉南]第2・4日原則【4月正式開校】
- 13:00~ ベーシック/ミドル振替(3月予定変更)
- 10:30~ ベーシック/プライマリ(4月~)
- 13:00~ ミドル /アドバンス(4月~)
総合農事センター2F B研修室 by 中野司先生
・3/12, 26, 4/9, 23, 5/14, 28
4. お知らせ
1) メール配信元ドメイン変更・ブログ読者登録リセット4月~メール発信元ドメインを変更(ezweb.ne.jp→gmail.com)予定です。
Gmailが拒否する特殊なアドレスから変更をお願いすることがあります。
また、ブログ読者登録も毎年4月にリセット・再招待させて頂く予定です。
2) 電池について
・単4乾電池4本(+ダミー1本)、または充電池5本(6V)を推奨します。
・電池不足が多く見受けられ、進行上の支障となっております。
電池チェッカー・予備電池を用意し、自ら残量の管理を。
・教室サービス時、原則として電池代4本108円+診断料108円を頂きます。
3) 小倉南教室(総合農事センター/中野司先生)4月正式開校
・転属はミドルコース以上とさせて頂きます。
ベーシックコース生は、ミドル進級までお待ち下さい。
・同一運営ではありませんので、弊教室とは各種サービス条件が異なります。詳細はお問合せ下さい。
・転属希望は前々月までにメール下さい。許可制です。
人数調整の為、数ヶ月お待ち頂く場合があります。
また、将来的に教室を移転する場合があります。
4) 宿題ポイント交換会【ベーシック・ミドルのみ/4月~アドバンス対応予定】
次回は5月第1回「授業前」に景品交換します。その後も3ヶ月毎に予定します。
5) 1月課題 高得点者(八幡東教室は未集計) []内は教室と学年
◆ベーシック【17名平均 図面2.8+設問3.4=6.2】
10点…荒木[小倉北2]
9点…橋本[小倉北2], 大橋[小倉北3], 佐藤[東福間3]
8点…なし
◆ミドル【19名平均 図面3.2+設問1.6=4.9】
10~9点…なし
8点…数住[小倉北4], 中島[小倉北4]
7点…岩熊[中間5], 佐藤[小倉北7]
東福間・中間・小倉北教室 佐藤