2020年12月29日火曜日

2020年12月報

1.12月授業内容
2.12月の課題
3.11月の解答
4.今後の授業スケジュール
5.お知らせ


1. 12月授業内容


1.0 <スタートアップ(全コース)>


 割愛します。


1.1 <プライマリーコース『アルペンくん』>


 割愛します。

1.2 <ベーシックコース『バーディーくん』>


 10月~来年3月まで追加された新作テーマの第三弾! 面白いロボットが続きます。

 プロゴルファーならぬ、“ロボ”ゴルファーです。んー、これはすごい!
デザイン、スイングフォーム、コントローラ、いずれの設計もピカイチです。


●デザイン
 「デザインとか、どうでもいい」と言う人、合理的(?)な生徒さんに多いですが、2日目テキスト表紙(ひょうし)の写真を見てください。
思わず、「作ってみたい!」「動かしてみて!」と言いたくなるでしょう。

 役立つロボットには、早さ、正確さ、省エネ、安全性など、便利さや性能も必要ですが、
人間を楽しませたり、共(とも)に暮(く)らしたりするロボットには、見た目の良さや安心感も大事です(*1)。


●スイング動作
 良いデザインのまま、大きなモーターをどこに収(おさ)め、かさばるギアをどのように噛(か)み合わせるかは、とても難(むつか)しい問題です。
バーディーくんでは、モーターを胴体(どうたい)に入れました。
胸(むね)の中の心臓(しんぞう)みたいですね。

 モーターをロボット本体の中に入れるのは、ごく普通(ふつう)のことのように思えます。
そう、そのモーターで足やタイヤを動かすのならばね。

しかし、バーディーくんの足は固定されたまま、モーターが載(の)った胴体の方がスイングする動きを見せます。
モーターに挿(さ)したシャフト5ポチではなく、モーター本体の方が回転するのです。
どういう仕組(しく)みでしょうか?


モーターに挿(さ)したシャフト5ポチは、腰(こし)の部分にあるシャフトビーム2ポチの穴(あな)に固定され、腰は足と一体化し、コントローラに固定されていますので、回転できません

このため、スイッチを入れると、シャフト5ポチを回す力がはね返(かえ)ってくるかのように、モーター本体を回そうとする力にもなるのです(*2)。
このとき、モーター本体が回る向きは、シャフトを回そうとする向きと反対になります。

 腰にモーターを固定して、胴体をシャフトに挿して回した方が分かりやすいですが、
こうすることでも同じ動きを作れますし、この方がスマートな下半身(かはんしん)のゴルファーに見えてカッコイイでしょう。


●コントローラ
 バーディーくんはゴルファーですから、重い胴体でもボールを打つためにすばやくスイングし、長い腕(うで)とゴルフクラブを大きく振(ふ)り回すように作られています。

この激(はげ)しい動きでも倒(たお)れないよう、バーディーくんの足をコントローラに固定しています。

足をしっかり支(ささ)えるには、コントローラは重い方がいいですね。
このため、重たい電池ボックスをコントローラ内に入れました。

 さて、ゴルフのスイングでは、胴体を右にも左にもひねる必要があります。
このとき、胴体がぐるぐる回るバケモノになっては困(こま)りますので、回りすぎないよう背中(せなか)にストッパーを付けました。

ストッパーに当たるまでスイングしたら、ロボットやモーターが壊(こわ)れないよう、すぐにスイッチを切ったり、逆向きに切り替(か)えたりできる方がいいですね。

このため、スライドスイッチだけでもコントロールできるところ、タッチセンサー黒も使って操作性(そうさせい)・安全性を高めています。


 1日目だけでも完成度の高いゴルファーになりますが、2日目の改造でさらに、スイングに合わせた下記の演出(えんしゅつ)を付け加えています。

・手首をスナップ(手先のギアを回転)させ、より大きくクラブを振る
・顔も(モーターと輪ゴムの力を使って)振り向く
・顔に目玉を付け、視線(しせん)がボールを追(お)う

「ベーシックコースで、ちょっとやりすぎじゃない?」と思えるくらい、イイ…
その作り込(こ)みの深さは、ここにもテキストにも書き表しきれません。

その甲斐(かい)あり、バンカー(砂場)やハザード(池)を配置(はいち)したコース上でのゴルフプレーは、とても雰囲気(ふんいき)が出て、楽しかったですね!


*1 高橋智隆先生は、「役に立たないロボットばかり作っている」と自ら言っています。
 大した仕事はせず、人を楽しませたり、和(なご)ませたりするだけのロボットもまた、人間社会に役立つことを世にアピールしています。

*2 『作用・反作用の法則』といいます。
 何かが物体を動かそうと(作用)する力を出す時、それと同じ強さで、逆向き(反作用)の力が必ず返ってきます。
 私たちが地面の上に立てるのは、重力と同じ大きさの反作用の力で、地面が足の裏(うら)を押し返してくれるからで、この力がないと、地球の中心に向かって地中に沈(しず)んでいくことになります。


1.3 <ミドルコース『プログラミングカー』>


 “プログラミング”と“カー”にそそられます。
“カー”だけに製作も理解も難しくはありませんが、生みの親で、アイデアコンテストで最優秀賞に選ばれた当時小学6年生に脱帽(だつぼう)です。

 “プログラミング”と言っても、ミドルコースでは、マイコンを使わなくても動作が完結するロボットばかりです。
実際、このロボットは、ミドルコースにマイコンが導入された2019年8月以前からありました。

リンク機構のみで動作する機械でありながら、本体(ハードウェアプログラム(ソフトウェア)媒体(ばいたい)を明確に分離した点で、唯一無二(ゆいいつむに)のロボットです。

 プログラムとは何でしょう。一連の動作や演目などの手順(表)ですね。
本体の設計を変更することなく、プログラムだけで動作を決定できる利点があります。
ゲームソフトやアプリのアップデート等が最たる活用例ですね。
コンピュータ類に限らず、テレビ、エアコン、冷蔵庫、洗濯機、炊飯器まで、現代の殆(ほとん)どの電気製品がプログラムに則(のっと)り動作しています。

 本ロボットのプログラム媒体は、赤いロッドをつなぎ合わせた一本の棒で、その幅(1~3本分)により、右折・直進・左折を指令します。
また、ロッドを円形に組めば無限ループを実現でき、永遠とジグザグ走行や8の字走行を繰り返すこともできます。

走行用モーター動力をプログラムロッドの送り用ローラーにも分配しているところがナイスです。

自動織機や自動演奏オルガンから始まって、黎明期(れいめいき)のコンピュータも、パンチカードと言って、無数のパンチ穴を開けた何十メートルもの紙を送ってプログラムやデータをセーブ・ロードしていましたが(*1)、その様を彷彿(ほうふつ)とさせます。

 2日目最後の競技に、三角コーンやテープで指示されたジグザグコースを無事に完走するプログラムを設計してもらいました。

このとき、試行錯誤を重ねながら仕上げるのも現実的な成功方法なのですが、計算によって一発成功を狙う科学的方法も追求して欲しいと思い、授業中に余力のある人に挑戦状を掲(かか)げました。

【お題】
 ロッド1穴分(約1cm)送る毎にロボットが何cm進むか?(小数第1位まで)
ただし、ロッドを送るタイヤS直径を38mm、本体を推進させるタイヤL直径を51mmとする。

【解答】
 タイヤSとLの1回転あたりの移動距離(変位)の比は、円周長の比であり、これは直径の比に等しく、38:51である。
ここで、ギア構成により、タイヤLの回転数はタイヤSの3倍である。
よって、タイヤLによる変位は、タイヤSに比して 3×51/38≒4.026倍となるので、
本ロボットは、ロッド1穴分(約1cm)あたり約4.0cm進む

 実際は、各所のスリップの影響により誤差が出ますが、例えば、55cmのロッドでは220cmのコース取りをプログラミングできるという“アタリ”が付けられるようになり、最初から成功に近づける可能性が高まるのです。

算数/数学が得意な人は、円周率3.14やπ(パイ)を持ち出して面倒な計算をしても同じ答が出ることを確認し、比を用いた考え方を深めてください。


*1 テキストp.22参照


1.4 <アドバンスコース『モゾット(1)』>


 とても秀逸な設計ですね。
ちょうどプロ1年目コースと同様の、モゾモゾ歩いてしまう多脚リンクロボットです。


 脚リンクが複雑で、造るのも(*1)、動きを理解するのも、難しいですね。

ここは、文章よりも、テキストp.9に紹介されているテオ・ヤンセン氏の考案した「ストランド・ビースト」を検索して、素晴らしいYouTube動画で学びましょう。


■テオ・ヤンセンの歩行機構 Theo Jansen Mechanism
 https://www.youtube.com/watch?v=uWzw7Jq9xBc

■【人工生命体】テオ・ヤンセンのストランドビーストがめちゃくちゃかっこいい【物理エンジン】
 https://www.youtube.com/watch?v=mM_yJIEIqkA

■STRANDBEEST EVOLUTION 2017
 https://www.youtube.com/watch?v=LewVEF2B_pM


*1 テキストの写真と図面だけでは造れない人が続出、先生の製作サンプルを見ながら何とか…というレベルでした。


1.5 <プロ1年目コース『リンクロボット(3)』>


 多脚リンクロボットの3ヶ月目、最終月です。

 知的ロボットに必要な「感じて」「考えて」「動く」機能のうち、先月までは「考えて」「動く」だけでした。
いや、「考える」といっても、定めたプログラム通りに動くだけで、せいぜい次の動作に移行する秒数を計っているだけでした。

想像してみてください。いくら“脳ミソ”があっても、外界との接点が無ければ(目も耳も鼻も触覚さえも!)、意識は闇の中…。息が詰まりそうですね。

 1日目では、「感じる」触覚を与えます。
円形ボード(頭部?)の左右にタッチセンサーを取り付け、そこから針金(触角?)を前方へ2本伸ばし、地面まで垂らします。
机上で前進中、針金の先が机の縁から垂れ下がるとタッチセンサーがOFFになって、これを検出するプログラムでロボットを後ずさりさせたり、旋回させたり、自由に設計できます。

瞬く間に、崖から落ちないインテリロボの完成です。

これだけでも、ロボット掃除機を想わせる動きになります。どうです?
あのスゴイ家電の動作も、こんな感じで実現できてしまうのですよ!
自ら判断して動いてくれるので、生物のような賢さや可愛らしさが出てきます。

 このために、必要なプログラミング要素を学びました。
もし、○○だったら△△して、そうでなければ××する”ような判断と行動のルールを与えるもので、“if ○○ { △△ } else { ×× }”の形式で記述します。

条件分岐といって、プログラムには大切な要素です。
これがなければ、ゲームソフトも紙芝居がせいぜいです。

 最終日の2日目は、『天下一ロボット武道会』と銘打ち、ラジコン操縦プログラムを転送したロボット同士で一騎打ちを繰り広げます。

ゲーム性を高めるために、ハード的・ソフト的に改造を加えます。
感じるタッチセンサー2個をロボットの前後に付け直し、打たれるとヒットポイント(HP)を失う“急所”に仕立てます。

相手の“急所”を突くための(ほこ)を装備します。

8×8ドットLEDマトリクスを装着し、ロボットのステータス(HP、スタミナ、無敵モード、勝敗宣言)を表示させます。

スピーカも繋ぎ、「敗北の悶絶」や「勝利の雄叫び」に備えます。

 各自で特性パラメータ(初期HP、スタミナ消費/回復速度)を割り振り、バトルフィールドに放って「勝負始め!」
一見単純そうで、パラメータ振りや、攻め・守り・スタミナ回復のための時間/HP消費などの戦略要素が効いてか、これがなかなか面白い!
ゲーム内の戦闘ロボットを現実界に持ち出した感、いや、リアリティはそれ以上(当たり前)です。

この3ヶ月間、多大な時間を費やして組み上げては分解調整を繰り返した末、苦労してスムーズな動きを獲得したロボットは、最後の戦闘を楽しませてくれる堅牢性を見せました。

 ハード・ソフトを問わず、様々な面において思い通りに動かず、苦汁を味わうのは、巷の“ロボコン”でも同じです。
いや、全くこの程度では済まされません。
純デジタルのゲーム世界と異なり、現実の闘いは泥臭い作業の積み重ねであることの片鱗も伺えたのではないでしょうか。


1.6 <プロ2年目コース『センサーロボット(3)』>


(進度が遅れておりますので、1月挽回予定内容を含みます)

 ついに、高精度な変位(位置)検知の雄である“エンコーダー”の出番です。

エンコーダーは、車のスピードメーターやプリンター、お掃除ロボットなど、位置や速度を正確に検出したり、フィードバック制御したりする、あらゆる電子制御機器で使われています。

これまでプログラム制御してきたロボットは、タイヤの回転数を“回す時間”で推し量ってきました。
実際のモーターがどれだけのトルクを発揮するか、回転軸の摩擦力がどれだけかも知れず、これでは「時間内でやれるだけやっておくよ」と言うようなもので、精度(必要な移動量)に対して無責任です。
こんなものは、おもちゃか、ラジコンにしか使えません。

 エンコーダーの原理は、可動部に取り付けた光センサーと、シマシマ模様の反射板(フォトリフレクタ)とが、その相対位置を変えること(移動や回転)によって発生させる、0と1の2値からなるパルス信号を読み取ることです。

移動が一方向ならこれで十分ですが(*1)、正逆を気にする場合は、もう一工夫必要です。
やり方は一つではありません。いろんな解決策がありますが、原理を例えるなら、
ばかばかばか…」と「かばかばかば…」を途中から聞いても区別がつきませんが(*2)、
くるまくるま…」と「まるくまるく…」なら、どこの2文字でも違いが分かりますね。

要は、状態を「3値以上」で表現できれば良いわけです。
2値のパルス信号が好きなデジタル回路なら、2系統を組み合わせて実質的に4値(*3)とすれば良く、それが今回のエンコーダーです(第5回p.15)。

 そんなエンコーダーを左右両輪にそれぞれ使った移動ロボットで、任意の4角形や3角形の軌跡を、これまでのロボットでやったよりもずっと正確に描くことができました(*4)。

前進(両輪)や旋回(片輪)は、エンコーダーからのパルス信号を処理してモーター速度を一定に保ってくれるライブラリのお陰で、これまで回転量(時間)の制御に用いてきた delay() をまた使うことができ、分かり易くなっています(*5*6)。

 でも、次回エンコーダーを用いる時は、実践的にパルス信号を処理して回転数制御したいものですね。
最後に、エンコーダーの赤外線センサー1個だけを地面に向けて実現したライントレーサーも、アドバンスコースやプロ1年目のものと原理的に何ら変わりませんしね。


*1 もしくは前進と後退を区別しないスピードメーターなど。

*2 もしくは「俺が途中から逆向きに読んだのが分かるかい?」と意地悪を言われても。

*3 2+2ではありません。組み合わせの問題なので、2×2です。

*4 辺での直進距離と、頂点での回転角度の両方を制御できました。

*5 算数ができればの話で…「曲率半径60mmの円周上を中心角300°分旋回するには、毎分30回転する直径48mmのタイヤを何秒間回せばよいか?」など。算数も役に立つんだね!

*6 一部の生徒には不満だったようで、「本来、エンコーダーからのパルス数を直接読み取って移動量を制御すれば良いものを、相変わらず時間制御とは…」 分かります。


2. 12月の課題


 <スタートアップ(全コース)>
  特にありません

 <プライマリーコース>
  - オリジナル図形プリント
  http://robocobo.sakura.ne.jp/blog/HW/RobotP2012-Q.pdf

 <ベーシックコース>
  - 上記授業内容を精読する(概ね3年生以上/低学年は補助の下で)
  - オリジナル課題プリント(3面図+設問)
  http://robocobo.sakura.ne.jp/blog/HW/RobotB2012-Q.pdf

 <ミドルコース>
  - 上記授業内容を精読する
  - オリジナル課題プリント(3面図+設問)
  http://robocobo.sakura.ne.jp/blog/HW/RobotM2012-Q.pdf

 <アドバンスコース>
  - 上記授業内容を精読する
  - オリジナル課題プリント(見取図+設問)
  http://robocobo.sakura.ne.jp/blog/HW/RobotA2012-Q.pdf (来月まで分)

 <プロ1年目コース>
  - 上記授業内容を精読する(該当テキストページを見ながら)
  - アドバンスコース『モゾット(1)』で紹介した動画(YouTube)を視聴する

 <プロ2年目コース>
  - 上記授業内容を精読する(該当テキストページを見ながら)


3. 11月の解答


 <プライマリーコース>
  http://robocobo.sakura.ne.jp/blog/HW/RobotP2011-A.pdf
 <ベーシックコース>
  http://robocobo.sakura.ne.jp/blog/HW/RobotB2011-A.pdf
 <ミドルコース>
  http://robocobo.sakura.ne.jp/blog/HW/RobotM2011-A.pdf
 <アドバンスコース>
  http://robocobo.sakura.ne.jp/blog/HW/RobotA2010-A.pdf


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


◆1月は一週ずつ遅れます。
◆中間1/16, 30は代替施設で開催します。

――――――――――【佐藤教室長】――――――――――

[東福間]第1・3土原則<学習ルームでこぼこ>
   - 13:30~ ベーシック/プライマリ
   - 15:30~ ミドル
   - 17:30~ アドバンス

 ⇒ 1/9, 23,  2/6, 20,  3/6, 20


[中間]第2・4土原則<なかまハーモニーホール>
   - 13:30~ ベーシック/プライマリ
   - 15:30~ ミドル
   - 17:30~ アドバンス/ロボプロ

 ⇒1/16※第1回 中間市生涯学習センター2F第4研修室
  1/30※第2回 代替施設(未定)
  2/13, 27,  3/13, 27

 ※1/16, 30はハーモニーホール利用不可の為、代替施設で開催します


[小倉北]第1・3日原則<ムーブ>
   - 10:30~ ベーシック/プライマリ
   - 13:00~ ミドル/ロボプロ
   - 15:00~ アドバンス

 ⇒1/10 第1回 5F小セミ
  1/24 第2回 5F小セミ
  2/7, 21,  3/7, 21


――――――――――【中野教室長】――――――――――

[八幡東]第1・3土原則<レインボープラザ4F>
   - 13:30~ ベーシック/プライマリ
   - 15:30~ ミドル
   - 17:30~ アドバンス

 ⇒ 1/9, 23,  2/6, 20,  3/6, 20


[小倉南]第2・4日原則<総合農事センター2F>
   - 10:30~ ベーシック/プライマリ
   - 13:00~ ミドル
   - 15:00~ アドバンス

 ⇒ 1/17, 31,  2/14, 28,  3/14, 28


5. お知らせ

1) ロボット教室オンラインサービス[再掲]
 本部より封書・メールでご案内の通り、11月~ロボット教室オンラインサービスを開始しております。

 アカウント登録すると、ビデオ授業や今後の新サービスが提供されます。
 - 登録ご案内メールが不明な方はお知らせ下さい
 - 従来のYouTube配信は10月で終了しました


2) 11月課題 高得点者  []内は教室と学年

 ◆プライマリ【8名平均 図形3.9】
   5点…中川[中間1], 原[小倉南1], 眞所[小倉南1], 矢野[小倉南1]

 ◆ベーシック【20名平均 図面2.8+設問1.5=4.3】
  10点…なし
   9点…なし
   8点…古賀[八幡東4]
   7点…柴田[小倉北3]
   6点…矢吹[小倉北2], 諭[小倉北2], 安倍[小倉南5]

 ◆ミドル【18名平均 図面3.6+設問2.5=6.1】
  10点…なし
   9点…中村[小倉北6]
   8点…橋本[小倉南3], 林田[小倉南3]

 ◆アドバンス【11名平均 図面8.1+設問4.5=12.6】
  18点…宮尾[八幡東7], 橋本[小倉南6]
  17点…荒木[小倉北6]


東福間・中間・小倉北教室 佐藤 / 八幡東・小倉南教室 中野