2021年10月29日金曜日

2021年10月報

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


1. 10月授業内容


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


 割愛します。


1.1 <プライマリーコース『SLロボロコ』>


 割愛します。

1.2 <ベーシックコース『ぐるぐる進む君』>


 二足歩行ロボットです。左右の足が交互(こうご)に前後するのだから、歩くのは当たり前?

よく考えてみます。
人間やアシモのように、片足を上げながら歩くほど高度ではありませんから、地面についたまま前後に往復(おうふく)するだけの足に前も後ろもなく、その場で足を摺(す)るばかりでうまく進みません(*1)。
1日目のロボットがこの形態(けいたい)であり、あまりスマートな歩みではなかったでしょう。

 しかし、人間は、ぶかぶかのスリッパを履(は)いたときでも、摺り足をしながら前に進むことができます。
同じ摺り足の動きで後退することもできます。無意識(むいしき)に何かを切り替(か)えています

そうです、重心ですね。2日目で、ちょうちんアンコウのごとく頭から生えた角(つの)が、その重心移動メカニズムです。

 もちろん、付ければいいってものではありません。
角の先に付けたタイヤL(カウンターウェイト=おもり)に揺(ゆ)り回されるわけですから、足の動きとの同調(タイミング合わせ)を考えないと、逆にバランスを崩(くず)してすぐに転んでしまいます。

しかし、このタイミングは30°単位(*2)で調整できますから、後ろに下がる方の足に重心を傾(かたむ)け、前へ出る方の足を浮(う)かせ気味にすれば、見違えるようにスタスタと歩くことができるように変身します。

 その理由を詳しく見てみましょう。

写真のように、ロボットに向かって右側にタイヤLがあるときを考えてみます。
タイヤLは黒矢印(↓)の重力を受けています。この重力は、角を伝って、ロボットを右側に倒(たお)そうと作用します。

つまり、向かって右側の足には赤矢印(下向き↓)の力が、左側の足には青矢印(上向き↑)の力が加わり、向かって右側の足は重く、左側の足は軽くなるのです。

 左右の足への重みが変わることで、どんな良いことがあるのでしょうか。

写真は、ロボットの左足がめいっぱい前に出て、これから後ろに下がろうとする瞬間です。
このとき、左足には赤矢印(↓)の力が加わっているため、床との摩擦(まさつ)力が強く働き、滑(すべ)りにくくなります。

そのため、左足を後ろへ動かそうとする力は、ロボット上体を緑矢印(←)の方へ動かそうとする力となって、前進させるのです。

同時に、軽くなっている方の右足は、床との摩擦力が弱いために、滑りながら前へせり出し、次の一歩に備(そな)えることができます。

 もっともっと速く歩かせるために、電圧アップ(電池4→5本)したり、脚(あし)を長くして歩幅(ほはば)を大きく取ったりしてみましょう。

すると、安定感がなくなり、上体がヨタヨタに振(ふ)れようとする動きを、強めのカウンターウェイト(*3)でキャンセルし、さらに、足裏(あしうら)を広げて転びにくくします。

または、ラチェット(*4)を知っている人は、スケートのようにスーッと滑らせることも夢ではありませんよ!

二足歩行ロボットというのは、なかなか奥深いテーマなのですよ。


*1 足にグロメットを付けると、後方へ蹴(け)る摩擦力が働き、少し前進するようになりますが、逆に足を前に戻すときには、この摩擦力がじゃまになります。

*2 タイヤLを回す角の根元には、12の歯をもつマイタギアが取り付けられており、これが別のマイタギアと噛(か)み合って回されています。
 つまり、噛み合わせを1つずらして取り付けるということは、角度にして 360÷12=30°ずつ変更できるということですね。

*3 てこの原理により、重いほど、角を長くするほど効(き)く。

*4 一方向へのみ回転させる機構。ミドルコース『ロボワーム』を参照。


1.3 <ミドルコース『ロボワーム』>


 見た目は3輪バイクのようですが、尺取り虫(シャクトリムシ)をモチーフにしたロボットです。

 1日目では、前輪の付いたロッドを前後に往復させています。
この動きは、クランクというリンク機構を用いて、モーターの回転運動を往復運動に変えて実現しています。
しかし、ロッドの往復に合わせて、前輪は前後に転がるだけであり、推進力とはなりません。

ところが、ただ1点の部品(ペグS)を装着するだけで、見違えるほど前進するように変わります。
ラチェットという機構で、一方向への回転のみを許し、反対方向へは回らない仕掛けです。

 皆さんの身近なところでは、自転車のペダル(正確にはチェーンで駆動される後輪のハブ内)に使われており、前方向にはしっかり噛み合って回転を伝えますが、逆方向にはチッチッチと音を立てて空回りする仕組みにより、ペダルを休めても車輪は回り続けることができます。

写真は、後輪ハブ(車軸部分)を分解したものです。
大きな力に対応できるよう、ギアの周りにラチェットが3つ付いていますが、基本的な仕組みは、ギアMとペグSの噛み合わせ方と同じです。

 このラチェット機構を実現するために、前輪に重ねたギアMの歯にペグSの角を当てました。
すると、ロッドの往復に合わせて、前輪と後輪が交互に前へ転がることを繰り返し、本体が前進するようになりました。
まるで、尺取り虫が胴体を曲げたり伸ばしたりして進む様子です。

 後輪が前へ転がるのは、ロッドが後ろへ戻る際に前輪が逆回転しないようロックされ、本体(と一体化した後輪)が前輪に引っ張られるようになったためです。

前輪が前へ転がる際は、本体(および後輪)は止まったままか、むしろ反動で少し後退します。

 2日目に、後輪にも同様に往復するロッドとラチェットを組み付けました。
これで、後輪の後退も防げるようになり、推進効率が上がりそうです。

前輪と後輪のロッドが往復するタイミング(のズレ)は自由に変更できますが、一番スムーズに前進するタイミングはどのようなものでしたか?
どうあがいても(前後のロッドで漕ぐタイミングがどんなでも)、前後輪ともラチェットを付けて後退を阻止(そし)するのだから、1日目(前輪ラチェットだけ)のロボットよりは前に進みやすくなると思うでしょう?

ところが、ロボットを横から見て、前後のロッドがハの字形に開いたり閉じたりするようなタイミング(前後クランク位相差0°)が最も優れます。
同じ向きに前後するようなタイミング(位相差180°)でクランクに取り付けると、恐ろしく推進効率が下がり、ちょっとの坂道でも上れなくなります(*1)。
クランク位相差90°では、その中間といった感じです。

何故でしょうか?
これは“スケーティング”の要領に似て、先行する前脚と、蹴り出す後ろ脚機能分担ができるからです。
人間が歩けるのも、尺取り虫が進めるのも、地面を捉(とら)える後部があってこそ、前部が地面上を浮いて(または滑るように)進めるわけです。


だって、両脚を揃えて前後させようとしても、上体が前後に傾くだけで、何を支えにして進めと言えるでしょうか?
『ロボワーム』のように2本脚が前後に付いていても、同じことです。

尺取り虫は知っているのでしょうか。

 1日目と2日目の推進効率の違いを1m走で計ってみましょう。
最速タイムは、1日目のマシンで4秒以下、2日目で2秒以下と、見事に倍速になります。これは見た目にもかなり速いです。

もちろん、脚を長くしたり、タイヤの回転を滑らかにしたり、ラチェットの当たり具合を調整したり、最後までスピードを追求した改造マシンでの成績です。
そうでなければ、およそ半分ほどのスピードになります。


*1 平坦なら少し進みますが、本体を前後に振る“反動”で動いている程度で、後ろに下がったとしても不思議ではありません。
 しっかり造れば 15°くらいの坂道(かなり急!)でも上れます。


1.4 <アドバンスコース『ドレミボット①』>


 《下記を参照下さい》
  http://robocobo.sakura.ne.jp/blog/robot/adv1-1710.pdf


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


 Autumn(秋)タームとして、多脚リンクロボットを製作し、プログラム制御するまでの3ヶ月が始まりました。
脚がうにょうにょ動き、にょろにょろ走り回る姿態を空想して、否応無しに期待感が高まります。

 1ヶ月目は、2本1組の脚リンクから組み立てていきます。
1組2本の脚だけでも、うねうねと有機的な動きを見せます。
これが6組12本も組み合わさるとなれば、それは壮麗なのか、不気味なのか、いずれにせよ楽しみです。

 図面や説明文の読解、パーツの向きや重ねる順番の照合、ネジやナット締め等、単体でも苦労する脚リンクを複雑に組み合わせるのですから、
空間認知、合理的思考、工作的センス(力加減、器用さ)に始まる、あらゆる能力を総動員して完成せねばなりません。

過去にも、大半の生徒さんが授業時間内には終わらず、家庭で進めて完成しても動かないか、動きがギクシャクしたり、自己分解してしまったり…。組み立てミスも続出するような代物です。

 2日目に、マイコンボードや無線モジュールを搭載し、モーターを回して脚の動きをチェックするところですが…
手順を誤った脚の組み直しに迫られ、ほぼ間に合ってませんね。
完成すると、苦労の甲斐あって、その動きは有機的というか、節足動物的というか、初めて目にする者をゾッとさせる異様さがあります。
非日常性を奏するには十分過ぎるインパクトです。

 次月では、コントローラーとプログラムを使って、思い通りにロボットを操縦します。


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


 いよいよ、2年目コースに突入です!
2年目コースも、エンジニアの卵に知っておいて欲しいエッセンスが色濃く詰まっています。

 これから3ヶ月で学習する『センサーロボット』は、1年目のオムニホイールロボットに、1年目の超音波センサー2個とカラーセンサーを取り付けたものです。
表示部の8×8ドットLEDマトリクスだけ、2年目パーツから7セグメントLED(*1)を取り出して代用したように見えますが、中身が大事ですよ。

中身とはプログラムですね。少ない感覚器官や肢体のロボットでは、それをどう使いこなすかが重要です。
1年目のプログラミングではまだまだ、これらのセンサーを複合的に使いこなせていません。

 元来、思い込みや勘違いだらけの人間に、一縷(いちる)の誤りも許されないプログラミングは向いていません。
今のところ、他にやる主体が無いので、その中で、比較的向いている人や、好きな人がやっているだけです。

プログラムには間違い(バグ)が付き物です。
それどころか、正しいプログラムにすら、それを読む人間(それを書いた張本人すら)が誤った解釈をし、誤った改造(バグ)を入れます。
もう、どうしようもないですね、人間は。
だから、パソコンやスマホのOSもアプリも、アップデートだらけですね。数学と異なり、間違いは仕方がないものとされています。

 しかし、それでも、品質を向上させる方策は必要です。その一つが「フローチャート(流れ図)」なのです。

やはり、文章(プログラム)と図(フローチャート)の直感的理解度・スピードは桁違いです。
書くべき作文の構想を練るときに、短い言葉で流れ図のようなメモを書くのと同じで、全景や過不足が把握しやすくなります。

一人でプログラミングする際は、このフローチャートを描くことが億劫で、ついサボりがちなのですが、およそ3ヶ月後の自分を苦しめます。
それ以上に、他人が製作し、自分とは異次元の設計思想に従った機械やプログラムをメンテナンスすることほど、苦労するものはありません。

そんなときに、設計図やフローチャートがあることでどんなに救われるか、どんなに嬉しいものか、計り知れません。
そんな見方を味わうことになるモノです。

 テキスト以上の詳細な解説はナンセンスにつき割愛しますが、
各種のセンサー動作プログラムを試しながら、せっかくのフローチャートを参考に、少し高度化したプログラムの流れを把握し、いろいろ弄(いじ)ってみてください。


*1 通称「7セグ」で、7本の棒で数字を表示するデジタル表示器のこと。
 これを先進性の象徴として多用した映画『バック・トゥ・ザ・フューチャー』世代のオジサンは今でもロマンを感じますが、高解像度ディスプレイが当たり前になった現代っ子には、ローテクの象徴のように見えるのでしょうか。


2. 10月の課題


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

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

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

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

 <アドバンスコース>
  - オリジナル課題プリント(見取図+設問)
  http://robocobo.sakura.ne.jp/blog/HW/RobotA2110-Q.pdf (来月まで分)

 <プロ1年目コース>
  - リンクロボット製作を完了する

 <プロ2年目コース>
  - 上記授業内容を精読する


3. 9月の解答


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


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


◆1月は一週ずつ遅れます。

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

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

 ⇒ 11/6, 20,  12/4, 18,  1/8, 22


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

 ⇒11/13 第1回 3F会議室2
  11/27 第2回 3F会議室2
  12/11, 25,  1/15, 29


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

 ⇒11/ 7 第1回 5F小セミ
  11/21 第2回 4F和室・工芸室
  12/5, 19,  1/9, 23


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

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

 ⇒ 11/6, 20,  12/4, 18,  1/8, 22


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

 ⇒11/14, 28,  12/12, 26,  1/16, 30


5. お知らせ

1) X'masツリー2021 電子工作講座 11/23(火・祝)

 🕯もういーくつねるとー クリスマス~♪

 🎄クリスマスツリー形基板好きな色のLEDはんだ付けして、オリジナルツリーを飾りましょう。
 8通りの点灯パターンで、年末のクリスマスを彩りましょう。

 かわいい植木鉢のUSB電源だから、夜通しキラキラ✨灯してくれますよ。


 在庫限り、6組限定です❣
 練習もやりますので、初めてのはんだ付けでも安心してご参加ください。

【チラシ(配布しません)】
 http://robocobo.sakura.ne.jp/blog/lab/XmasTree-2021.pdf


【講座名】
 オリジナル電子工作『X'masツリー2021 はんだ付け講座』
【内容】
 はんだこてを使って、電子部品のはんだ付け作業を練習した後、
 常灯LEDクリスマスツリーを製作して持ち帰ります。
【講師】中野・佐藤
【会場】北九州パレス(勤労青少年文化センター) 2F 第2会議室
【時間】11/23(火・祝) 9:30~11:30 (2時間)
【対象】ロボット教室生・お友達 小3~ 6組(ご家族2名まで同伴可)
【参加料】
 5,500円(受講料3,300+材料費1,650円+はんだセットレンタル代550円)
 *はんだセット持込可(-550円/申込時お伝え下さい)
【申込方法】メールにてお申込み下さい。11/9〆切・先着順です。
【申込条件】
 - はんだセット持込品(こて・台)に不備がある場合は、レンタル品を使用頂きます。

 - 原則として、12月お引落し額(1月分)に加算して徴収させて頂きます。
  キャンセル・欠席により空席が発生した場合は返金できません。
  (キットと製作テキストのみお渡しします)


2) IchigoJamミニゲームプログラミング『なわとび さっちゃん』終了
 10/31(日)北九州パレスにて、7組の方に参加頂きました。

 プレイヤー(さっちゃん)を操作して、ロープに引っ掛からないようジャンプするアクションゲームをプログラミングしました。
 ロープの往復や、ジャンプ動作のコーディング方法にもいろいろありましたね。

 最後は、景品のゲーム満載メモリ(EEPROM)を懸けて、なわとび成功回数を競いました。
 君たちのゲームさばき能力を先生が甘く見ていて、優勝が3人も出ちゃいましたね。


3) 11月景品交換会
 3ヶ月毎の宿題ポイント交換会を下記授業日に開催します。
 ポイントカードを忘れずに、早めに来て下さい。

 [東福間]11/20
 [八幡東]11/20
 [小倉北]11/21
 [中 間]11/27
 [小倉南]11/28


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

 ◆プライマリ【14名平均 図形4.6】
   5点…福永[東福間1], 藤原[八幡東1], 翁[小倉北2], 土屋[小倉北1], 丸吉[小倉北1], 宮田[小倉北2], 矢吹[小倉北 年長], 有松[小倉南2], 原[小倉南2], 眞所[小倉南2]

 ◆ベーシック【17名平均 図面3.3+設問1.7=5.0】
  10点…なし
   9点…柴田[小倉北4]
   8点…渡辺[小倉南4]
   7点…栗本[小倉南2]

 ◆ミドル【18名平均 図面3.1+設問2.1=5.2】
  10点…なし
   9点…なし
   8点…柴田[小倉北4], 林田[小倉南4]
   7点…小牧[小倉南5]

 ◆アドバンス【5名平均 図面7.4+設問4.5=11.9】
  14点…宮尾[八幡東8], 中村[小倉北7]


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

2021年9月29日水曜日

2021年9月報

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


1. 9月授業内容


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


 割愛します。


1.1 <プライマリーコース『メカビートル』>


 割愛します。

1.2 <ベーシックコース『ジャイアントホッパー』>


 バッタ型ロボットです。ギアを介(かい)してモーターが駆動(くどう)するのは、本体の側面で時計の針のように回転するロッド3アナだけです。

それだけなのに、後ろ脚(あし)を折り曲げたり、伸ばしたりを繰り返し、尺取り虫のように前進します。どうしてでしょうか?

 ロッド3アナが1回転毎に後ろ脚を跳(は)ね上げています。
このような回転体に当てることによる周期的な運動機構をカムと呼び、例えば、自動車のエンジンが吸気と排気を切り替えるために使われています。

後ろ脚が跳ね上がる時に関節(かんせつ)が折れ曲がって、後ろのタイヤLを前方へ引きずります。
この時、本体は進みませんが、次に輪ゴムの力で脚が伸びる時、後ろのタイヤLは滑(すべ)らず、前輪のタイヤSが転がりながら本体を前へ進めます。

 後ろのタイヤLは回転しないのに、どうして前進するよう都合(つごう)良く引きずられたり踏(ふ)み止まったりしてくれるのでしょうか?
タイヤLは回転しないのですよ。だったら、タイヤLは動かず、後ろ脚の屈伸(くっしん)運動に合わせて本体(前輪)が前後に往復(おうふく)するだけではないでしょうか
(尺取り虫も、次の一歩を迷ってそのような動きをすることがありますね)

 それは摩擦力(まさつりょく=すべらせない力)の効(き)き方が違うからです。

ちょっと難しいのですが、脚を折り曲げる(引っ込める)時は、タイヤLを斜(なな)め前方上向きに引き上げる力が働き、重い本体を後退(こうたい)させるほどの地面との摩擦力はなくなります
その結果、タイヤLの方が引きずられるのですが、逆に脚を伸ばす時は、斜め後方下向きに蹴(け)り出すので、地面との摩擦力が強力に働き、すべらずに本体を推進(すいしん)させるのです。

 消しゴムをノートに軽く当てた場合強く押し付けた場合とでは、すべらせるのに必要な力が全然違いますよね?
また、消しゴムをノートに斜めに当てると、引く時は軽くすべりますが、押す時は摩擦力を強く感じますね。タイヤLにも同じように作用しているのです。

タイヤLが地面から跳ね上がるほどのパワーがあれば分かりやすいのですが、ずっと地面を引きずっていますので、見た目では分かりません
タイヤLを消しゴムだと思ってください。

 タイヤLを回転しないよう止めている理由が分かったでしょうか?
試しに、自由回転するようクランクを取り外してみてください。

 最後の競技は“バッタレース”をしました。スピード勝負です。
推進はゴムの張力(ちょうりょく)、そのゴムにエネルギーを充填(じゅうてん)するのがモーターの仕事と言えますから、ゴムはきつく、モーターはパワフルに、というのが理想ですが、限界もあります。

有限なモーターパワーをロッド3アナの回転トルク(脚の力)に振るか回転数(脚のスピード)に振るかでギア比を決めたり、それに適した輪ゴムの掛(か)け方や本数を探ったりするのが戦略になります。

これまでに下記のような素晴らしい改造が生まれています。
1) モーター軸のピニオンギアギアMへ交換(脚が3倍速く動く)(*1)
2) 側面のロッド3アナ回転中心を端っこ中心へ変更(脚が2倍速く動く)(*2)
3) 2)のロッド3アナに、ロッド5アナを被せ、2)の弱点を解消(*3)
4) タイヤLに代わり、グロメットをはめて、後ろ脚を軽量化(*4)
5) タイヤLのクランク(回転止め)に代わり、(前方向のみ回転させる)ラチェット機構を取り付けて、スーッとすべるように前進する(*5)


 登坂(とうはん)チャレンジも、面白い競技になります。
テキスト通りのロボットでは、坂がきつくなると、後ろ足(タイヤL)の摩擦力が減(へ)ってすべったり、せっかく蹴(け)っても次に蹴るまでに前足(タイヤS)が後ずさりしたりして、あまり登れません。

過去には、後ろ足を重くしたり、腹(はら)で支えたり、前足にもラチェット機構を取り付けたり(!)して、すべり止めの改良が様々に生まれていました。

 ベーシックコースの総仕上げにもなりそうな、奥の深いロボットでした。


*1 力は1/3に弱くなり、モーターが力負けして停止しやすい弱点がありますので、あまり欲張(よくば)れません。

*2 回転半径が半分(2アナ分⇒1アナ分)になるので、動きの幅(ストローク)が半分になり、あまりスピードアップしない弱点があります。

*3 ロッド5アナの中心を回転軸としても、回転半径を2アナ分とれ、ストロークを減らさずに脚を2倍速く動かせます。

*4 バッタらしい力強い脚に見えなくなりますが、電池が弱くても動きやすいですね!

*5 これだけで圧倒的に速くなります。ミドルコースレベルの改造です。


1.3 <ミドルコース『ダンゴム』>


 音に驚いて丸まるプログラムが愛らしい変形ロボットです。
と言っても、プログラムに変形させる機能があるわけではありません。

このロボットは、プログラミング無しの旧ミドルコースからあり、ラチェット機構によって、ダンゴムシのように多数の足で歩いたり、丸まったりします。

マイコンは、モーターの正逆回転/停止のトリガリング(切替タイミング)や継続時間を手動スイッチ操作に代わって制御するのみですので、プログラム編はテキストに委(ゆだ)ねます。

ロボットの動き
 モーターは回転する力しか生み出しませんね。
その回転する力でロボットの足を動かし前進するのか、本体を変形させる(丸まる)のかはどこで決まるのでしょうか。

1日目のロボットは丸まらず、スイッチを切り替えても前進・後退するだけです。
(これだけでも、虫嫌いな人をゾクゾクさせるには十分な仕上がりですが)
2日目のテキストに丸まるためのミソが隠(かく)されています。

丸まる改造
 テキストに倣(なら)い、写真のようにラチェットをギアに噛ませてみました。
これでスイッチを入れると…、前に進んだり、丸まったりしましたね。 
なぜ2通りの働きをするのか、皆さんは既(すで)に理解していると思います。

スイッチを一方に入れて前進するのは変わりませんが、逆方向に入れるとラチェットがギアに噛み、後退する代わりに変形するようになりました。

 ここで、1つ疑問が浮かびます。
ラチェットが噛むと、そのギアは回転できなくなり、ロボットがその場に止まったまま動けなくなるだけではないでしょうか?  
ちょうど車のタイヤを回らないように固定した場合のイメージです。

力の逃げ道
 写真のように、赤矢印のギアを回した場合、隣のギアへ回転が伝わります。
青矢印のギアは回転する以外に動きようがないですね。

 そこで、ギアの土台を変えてみます。
写真のように、ビーム2本にシャフトを1本通し、ハサミのようにクロスさせます。
シャフトにギアを通し、もう1組のシャフトとギアを上部のビーム1本だけに通して噛み合わせます。
(実際に作って体験してみることが理解への一番の近道です)

赤矢印の示すシャフトを回してみます。当然、青矢印のシャフトも回転すると思います。
同時に、なんとなく上部のビームもオレンジ矢印の向きに回転しようとしませんか?
赤矢印のシャフトを急に回そうとするほど(*1)、オレンジ矢印のビームもつられて回りやすいと思います。

 この場合、赤矢印の回す力は青矢印のギアを回すかオレンジ矢印のビームを回すかの2通り、“逃げ道”があるわけです。
力の逃げ道がいくつかある場合、より簡単に動かせる(抵抗が小さい)方に逃げます
その結果、青矢印のギアが回ったり、オレンジ矢印のビームが回ったりします。
回しやすさ(抵抗)が同程度の場合は、両方とも回ることになります。

 ここで、力の逃げ道の1つを閉ざすとどうなるでしょうか。
写真の赤丸のように、ストッパーを取り付けてみました。
このストッパーの役割は、ダンゴムの(ギアと噛んだ)ラチェットと同じで、接触しているギアを回らなくしています。

この状態で、赤矢印のシャフトを回してみてください。
上部のビームをオレンジ矢印の向きにダイレクトに回転させる感じがすると思います。

 なぜそうなるのでしょうか?
赤矢印の力の逃げ道として、ストッパーを破壊して青矢印のギヤを回すよりビームを回した方がはるかに楽(抵抗が小さい)ですね。
その結果、青矢印のギアのギアを回すことなく、ビームを回すことに専念するのです。

これがダンゴムを後退させるか、丸めるかを分かつ仕組みの原理です。
7月の『シュート君』、8月の『サカアガリン』にも使われていました。

丸まる仕組み
 力の逃げ道がダンゴムの変形にどのように作用しているのかを見ていきましょう。
モーター軸(ピニオンギア)を、側面のギアMを左からA,B,C,Dと名付けます。

ギアに注目すると、これはラチェットにより回らなくなっています。
全てのギアは噛み合っていますので、このままではモーターは回転できません。
ここで何が起こるでしょう。力は“逃げ道”を常に探しています。

 スイッチを入れると、ピニオンギアは回転しようとしますが、ラチェットにより固定された一連のギアを回すことはできません
代わりに、モーター(頭部)自身が赤矢印の向きに回ることで、ピニオンギアがべベルギアの周りを回ることができますね。

ある程度までモーター(頭部)が回転すると、写真の青丸のように、ダンゴムののパーツ同士がぶつかってしまい、回転できなくなります。
逃げ道は他にないでしょうか?

実験した2本のビーム同士のように、頭⇔胸以外にも、胸⇔腹腹⇔尻の間に、折れ曲がる関節がありますね。
これらが折れ曲がることで、ギアの周りを、の周りを、の周りを回る仕事ができ(*2)、その結果、ダンゴムは丸まっているのです。

 さて、ダンゴムが丸まる仕組みは以上ですが、丸まる動作に不必要なギアがあります
それは、ギアA,B,C,Dのうち、どれを指しているでしょうか?


ダンゴムは、3つの関節で分けられた頭・胸・腹・尻の4部位それぞれに、ギアA,B,C,Dが取り付けられ、関節の両側のギアが互いの周りを回ろうとする(*3)力で折れ曲がっています。
だから、一見無駄がなさそうですが、この力の伝達に寄与(きよ)していないギアがあります。
つまり、それを外しても丸まる動作に影響はありません(*4)。それはどれでしょうか。
そのギアの記号不必要な理由、そのギアの別の役割を考えてみてください。


*1 物体を素早く加速させようとするほど、それを妨げようとする抗力が大きくなり、その分、大きな力を要します。慣性の法則といいます。

*2 実際は、回転方向を整えるために、間にピニオンギアを介していますが、関節を挟んだギア同士が互いの周りを回る作用としては同様に考えられます。

*3 どちらがどちらの周りを回っていると考えるかは、基準(カメラの設置場所=動いていないと感じる方)によって変わる相対的なものです。

*4 ギアA,B,C,Dは両側面にあることに注意してください。両側セットで考えます。


1.4 <アドバンスコース『バグモジョラ②』>


 後半の3・4日目は、完成したバクモジュラでテキストp.18の課題に挑戦してもらいました。
バグモジュラを壁に向かって歩かせ、タッチスイッチで壁への衝突を検知すると後ろ向きに歩き、スタートラインへ戻るといったものです。


 この動作を実現させるプログラムを考えてもらいました。
一度分かれば簡単、分かろうとしなければ難しいですね。
タッチスイッチはいつ押されるか分かりませんので、ずっと監視し続ける必要があります。

このような処理には、繰り返し命令「ループ」を使います(左図)。

IF」を使うという生徒さんもいましたが、これも正解です。
ただし、「IF」ではタッチスイッチの状態を1回調べると処理を終えるため、「ループ」の中で使う必要があります(右図)。


どのみち「ループ」が必要なら、短い書き方がスマートですね。

 プログラムを転送してバグモジュラを動かしてみると、まっすぐ歩かせるのは案外に難しかったですね。
左右の足の推進力を調整できれば、バグモジュラの方向を修正できます。

この問題解決には、2つの視点からのアプローチが考えられます。
1) 脚の位相や足先の摩擦力などを調整する、機械的なアプローチ
2) 左右の脚の運動量をプログラムから調整する、制御的なアプローチ

 1) は多くの生徒さんがトライする方法です。
各脚で向きをずらしたり、足先の形状やグロメットの取り付け方を工夫することで、推進力が変わります。

片側3本ずつあり、反対側の状態にも相互に影響し合いますから、全体の脚が生み出す推進力を位相の組合せで調整するのは困難を極めましたね。
地面に着いたり離れたりする部品の摩擦力による調整も、思うように効かせられませんでした。

 2) の方法はアドバンスコースならではです。
バグモジュラの左右の脚は、それぞれ独立したモーターで駆動しています。
左右で推進力に差があるのならば、強い方の脚を時々休めてあげれば良いというアイデアです。

例えば、左に曲がりやすければ、左脚に比べて右脚の推進力が大きいと考えられます。
この場合、右脚のモーターの回転数を落とすか、右脚の動きを間欠(時々停止)運転することで、左右の推進力のバランスを調整できます。

 この2つの解決法は対照的ですね。
機械的なアプローチでは、何度もロボットを分解しては、ギアの噛み合い(位相)をずらしたり、足先を作り変えてみたりと手間がかかります。
良い調整なんて無いのかもと疑いたくなります。

制御的なアプローチでは、機械の調整はそこそこにして、プログラム上の数字を何回か変更するだけでベストな値が見えてきます。

毎回、制御的なアプローチが近道とは限りませんよ。機械的なアプローチの方が能率的な場合も大いにあります。
状況に合わせて、どちらの解決手段が向いているか見極めましょう。


1.5 <プロ1年目コース『不思議アイテムI-1③』>


 不思議アイテムの世界も、最終月を迎えました。

 1日目は、“ラーメンタイマー”を作ります。
時間を計る(というより休め!の指示)命令としては delay がありますので、所望の時間だけ静止した後、ブザーでも鳴らせば一先ず完成ですが、経過状況も知りたいのが人情です。

delay(1000) と命令する度に何かをすれば、1秒毎の経過が分かります。
delay(100) を10回繰り返して、0.1秒単位のカッコイイ表示もできます。
秒数を2桁の数字で表したければ putd2、大きな1文字を表示したければ putch、任意の大きさで円や四角を描画したければ circlerectangle、1ドット光らせたければ write、1音を鳴らしたければ play、メロディを奏でたければ play_rtttl、モーターを回したければ rotate等、いろんな命令が紹介されています。

 サンプルプログラムでは、タッチセンサーの入力検出に listenonPress、繰り返しに forwhile、条件分岐に ifswitch-case を使って、初めに秒数やアラーム方法を選ばせる実用的タイマーに仕上げていました。
中には「ピッ、ピッ」と音を発しながら10秒からカウントダウン表示し始める、その名も時限爆弾の CountBom もありました(*1)。

 最終日の2日目は、ちょっと遊んで一息つくのにふさわしい「人工生命とシンセサイザー」がテーマでした。

 人工生命といっても、8x8ドットのそれぞれを生命体(細胞=セル)になぞらえ、周囲の生存セル数に依存した単純な規則によって誕生・生存・死滅を世代展開していく様子を観察して楽しむものです。“ライフゲーム”と呼ばれます。

それの何が面白いといって、“カオス的”なのです。簡単なルールで動いているのに、先行きが読めないのです。
初期状態のちょっとした違いが全く異なる結果を生み、にわかには予測不可能なパターンを繰り広げます。
このような多数の要素が相互に絡み合って状態遷移していくシステムを複雑系と呼びます。

ただ、複雑系には、局所的な要素間の相互作用からは挙動が乱雑で予見できなくても、全体として何らかの秩序や機能の“創発”が見られる場合があります。

現代のコンピュータが、入力信号に従って電流をON/OFFするだけのトランジスタという単純な“条件付きスイッチ”で構成されているように、
実は、周囲の状態に応じて各セルの生死が決まるライフゲームでも、論理回路を構成してコンピュータを再現できること(チューリング完全)が証明されています。

ここから(*2)、生命現象や神経回路網の再現、人工知能の研究へと発展していきました。
コンピュータの登場がこのような楽しみと学問の道を開いたのですね。

ライフゲームの途方もなく奥深い世界は、下記YouTube動画で味わいましょう。

■THE RECURSIVE COSMOS: Conway's Game of Life - PART 1
 https://youtu.be/yw-j-4xYAN4

■THE RECURSIVE COSMOS: Conway's Game of Life - PART 2
 https://youtu.be/m4LtaZNHN9E

■THE RECURSIVE COSMOS: Conway's Game of Life - PART 8
 https://youtu.be/1l5ie_owyik

■∞ L I F E
 https://youtu.be/D6aP9S9rEQk


 シンセサイザーの方は、先月の“電子ピアノ”を改造したプログラムです。
無線リンクしたゲームパッドのボタンが鍵盤になっている点は変わりませんが、アナログスティックを倒す量に応じて周波数を増減させる、エフェクター(ピッチシフター)機能が搭載されました。

プログラム上では、“play(NOTE_C4 + effect)”のように、音名を表す記号 NOTE_** にスティック傾倒量 effect を足しています。
“ド”に数値を足すって、どういうことでしょうか?

 先月の1日目に学びました。音名記号は、プログラムの転送前(コンパイル時)に音の周波数に置き換えているのです。
例えば、440Hzの“ラ”ボタンを押しながら、+54相当分スティックを前に倒せば494Hzの“シ”に、-48相当分スティックを引けば392Hzの“ソ”に変わる、という具合です。

 デジタルの世界では、すごく簡単な計算で豊かな効果を演出できる、という一例です。
ロック・ギタリストにでもなった気分で、ブイブイ演奏してみましょう。

 ここまでで、もう、光と音を自在に操れる魔法を手に入れたようなものです。


*1 ジョーク・プログラムなのですが、むき出しの配線や電子基板の中で赤いLED数字がカウントダウンを始めると、かなり物騒な雰囲気を醸し出します。
 テロが心配される国では冗談どころか、誤解から自身を危険に晒すことになるでしょう。
 日本でも、公共の場でいたずらに利用するのは厳に慎みましょう。警察沙汰になるか、配線が切断される被害(?!)に合うこと請け合いです。

*2 ライフゲームそのものというより、上位概念のセル・オートマトンと呼ばれる格子状セルで構成した計算機モデルから。
《ライフゲーム》https://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B2%E3%83%BC%E3%83%A0


2. 9月の課題


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

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

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

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

 <アドバンスコース>
  - オリジナル課題プリント(見取図+設問)
  http://robocobo.sakura.ne.jp/blog/HW/RobotA2108-Q.pdf (8月配信済み)

 <プロ1年目コース>
  - 上記授業内容を精読する(該当テキストページを見ながら)
  - 上記授業内容に紹介した動画(YouTube)を視聴する
  - [CountTimer1](2桁表示+終了メロディ)または
  [CountTimer4](+メロディ選択+ドット順次点灯)をベースに、
  LEDドットパターンや数字表示で「経過秒数が分かる」タイマーを作る
   Lv.1 8個の点を順次点灯または消灯させる8秒タイマー
   Lv.2 60個の点を順次点灯または消灯させる60秒タイマー(ヒント:%演算子)
   Lv.3 表示方法を独自に工夫した3分間(180秒)タイマー
   Lv.4 表示方法を独自に工夫した1~9分間設定モード付きタイマー
  (Lv.3以上を指示/Lv.1~順にクリアしていくと先が見える)


3. 8月の解答


 <プライマリーコース>
  http://robocobo.sakura.ne.jp/blog/HW/RobotP2108-A.pdf
 <ベーシックコース>
  http://robocobo.sakura.ne.jp/blog/HW/RobotB2108-A.pdf
 <ミドルコース>
  http://robocobo.sakura.ne.jp/blog/HW/RobotM2108-A.pdf
 <アドバンスコース>
  翌テーマ1ヶ月目(来月)に配信します


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


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

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

 ⇒ 10/2, 16,  11/6, 20,  12/4, 18


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

 ⇒10/ 9 第1回 3F会議室2
  10/23 第2回 3F会議室2
  11/13, 27,  12/11, 25


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

 ⇒10/ 3 第1回 4F和室・工芸室
  10/17 第2回 5F小セミ
  11/7, 21,  12/5, 19


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

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

 ⇒ 10/2, 16,  11/6, 20,  12/4, 18


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

 ⇒10/10, 24,  11/14, 28,  12/12, 26


5. お知らせ

1) IchigoJamミニゲームプログラミング講座

🍓BASICマイコンIchigoJam初級プログラミング臨時講座ミニゲーム編を開催いたします。
 秋の夜長🎑にゲームロジックに触れてみませんか?

【10/2~10配布予定チラシ】
 http://robocobo.sakura.ne.jp/blog/lab/IJ-B2110.pdf (おもて)


★IchigoJam初級ミニゲーム編は、長編プログラム講座とは趣向が異なり、
 短時間で、ごく短いプログラムを生徒さん自身のアイデアで改変しながら、
 100%理解を促すことに重きを置きます。(高学年さんにも不足ありません)


☆スタートアップ(SU)未受講の方は、10/31同日AMに承ります。
 SU講座のみ(5,170円)でも楽しめますので、プログラミング体験にお奨めします。
 (持ち帰り継続するには、いちごだいふく IchigoDyhook 8,800円をお奨めします)
 http://robocobo.sakura.ne.jp/blog/lab/IJ-B2110.pdf (うら)


【講座名】
 IchigoJam初級ミニゲーム#2『なわとび さっちゃん』
【内容】
 プレイヤー(さっちゃん)を操作して、なわとびするアクションゲームです。
 上級テクニックを使えば、さっちゃんがデカキャラになっちゃう?!
【講師】PCN北九州 中野・佐藤
【会場】北九州パレス(勤労青少年文化センター) 2F 写真室
【時間】10/31(日)
  9:30-11:45 (135分) IchigoJamスタートアップ ~初めてのゲームプログラミング~
 ★13:30-16:00 (150分) IchigoJam初級ミニゲーム#2『なわとび さっちゃん』
【対象】下記の小3※~ 10組(ご家族2名まで同伴可)
    a) スタートアップ修了者
    b) スタートアップ受講可能な方(同日AM)

   ※大文字アルファベットA~Zが読める(キーボードを打ちます)

【参加料】
 ) 3,850円(受講料2,970+IchigoDyhookレンタル代880円)
 ――――――――――――――――――――――――――――
 ★-0) 3,300円(受講料3,300+従来IchigoJam持込)
 ★-1) 4,180円(受講料3,300+IchigoDyhookレンタル代880円)
 ★-2) 5,500円(受講料3,300+IchigoDyhookレンタル代880円+IchigoDake1,320円)
 ――――――――――――――――――――――――――――

 ★-1 は IchigoDake持込者向けです
   (クリスマスツリー型・振動センサーゲーム型IchigoDakeを含む)

 ★-2 は SU参加者と、手ぶら参加者向けです
   (手持ちIchigoJam/IchigoDakeメモリを上書きしたくない方もこちら)
 IchigoDake標準品を購入頂きますが、家庭学習にはIchigoDyhookも必要です

【オプション費用】(購入or持込でレンタル代不要)
 P-0) オールインワンIchigoDakeドックステーション「IchigoDyhook」持込
 P-1) オールインワンIchigoDakeドックステーション「IchigoDyhook」購入8,800円

【申込方法】下記を指定の上メールにてお申込み下さい。10/17〆切・先着順です。
 <希望オプション>
  ) SU講座 3,850円(IchigoJam未経験者は必須)
  ★-0) 従来IchigoJam持込
  ★-2) IchigoDake購入1,320円(☆の方は必須)
   P-0) IchigoDyhook持込
   P-1) IchigoDyhook購入8,800円

 ・IchigoDake(いちごだけ)
 http://dakeigai.shizentai.jp/

 ・IchigoDyhook(いちごだいふく)
 https://pcn.club/sp/dyhook/

【申込条件】
 - IchigoJam持込品・周辺機器が故障した場合は、★-2 とさせて頂きます。

 - 原則として、11月お引落し額(12月分)に加算して徴収させて頂きます。
  キャンセル・欠席により空席が発生した場合は返金できません。
  (お申込品とテキストのみお渡しします)

 - コロナ情勢、部材の納期遅延などにより中止させて頂く場合があります。
  10/17目途に決定致します。


 ※本活動はヒューマンアカデミー ロボット教室とは関係ありません


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

 ◆プライマリ【16名平均 図形4.3】
   5点…福永[東福間1], 白川[中間1], 中川[中間2], 藤原[八幡東1], 翁[小倉北2], 土屋[小倉北1], 矢吹[小倉北 年長], 有松[小倉南2], 眞所[小倉南2], 矢野[小倉南2], 吉永[小倉南1]

 ◆ベーシック【17名平均 図面2.6+設問1.5=4.2】
  10点…なし
   9点…柴田[小倉北4]
   8点…古場[小倉南2]
   7点…なし
   6点…福永[東福間3]

 ◆ミドル【15名平均 図面3.4+設問2.1=5.5】
  10点…なし
   9点…藤津[中間5], 林田[小倉南4]
   8点…柴田[小倉北4], 諭[小倉北3]
   7点…小牧[小倉南5]


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