2019年1月31日木曜日

2019年1月報

1.1月授業内容
2.今月の課題
3.今後の授業スケジュール
4.お知らせ


1. 1月授業内容


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


 割愛します。


1.1 <プライマリーコース『ロボダック』>


 割愛します。







1.2 <ベーシックコース『横綱ロボ』>


 力士ロボットです。1日目で基本形の製作は完了するものの、足を運ぶ度(たび)にヨタヨタと左右に上体を揺(ゆ)らし、足裏はツルツルと滑ります。
まるで慣(な)れないスケートリンクで立ち往生(おうじょう)する初心者のような、何とも頼りない横綱です。



 2日目にはシャフトを通して足幅(あしはば)を広げ、輪ゴムやグロメット(ゴム管)で摩擦(まさつ)力を稼(かせ)ぎ、ようやく大地を掴(つか)んで歩む勇(いさ)ましさが出てきました。

 途中、重たいモーターを低い位置に取り付けた基本設計を変え、脚(あし)をひょろ長くして重心を高くしてみましたが、
背が高くなって貫禄(かんろく)は上がるものの、転びやすくなって、相撲取りに大事な安定感はいまいちとなることも試しました。

力士が腰(こし)を低くして取り組むのも、重心を下げて倒れにくくするためですね。



 2日目最後の競技は、当然、相撲試合です!
土俵(どひょう)の上で両者をにらみ合わせ、「はっけよーい、のこった!」

どれも似たような動きしかしていないように見えて、いざ取り組ませると、ロボットの実力差が現れました。
テキストや先生の話をヒントに改良したロボットが強い結果を残す一方、
弱々しい力士は、バランスが悪くて勝手に転ぶか、足がツルツルですぐに相手に押し出されていました。

見た目の飾(かざ)り付けに気を取られ、太い眉(まゆ)を付けて“目力”を上げたり、立派なちょんまげを結(ゆ)っても強くはならなかったね。





1.3 <ミドルコース『ロボベーター』>


 今回はエレベーター!
時々登場する「ロボットというよりも…」シリーズで、毎回とても面白く感動モノです。

製作難易度は高くなく、学習ポイントもさほど高度ではないのですが、
このキットでエレベーターを考案し、アイデアコンテスト全国大会で最優秀賞を獲得した当時小学4年生のアイデアに脱帽です。


 見た目としては、エレベーターのかご(運動部位)が水平から少し傾いてしまいますが、
このことにより、駆動ローラー(タイヤ)をレール柱に押し付け、滑らないように摩擦力を稼(かせ)ぐことができるのです。

このために、かごの重心を一方(モーター搭載側)に偏(かたよ)らせているとも言えます。
かごの水平バランス次第で、好みの摩擦力に調整できるということでもあります。





実際のエレベーターとは方式が異なることも学習しましたが、それは知識であって、実物を模(も)さないことで何より大事な創造力をいかんなく発揮したことが推(お)し量れます。






 1日目では、下降し終えて底に着いてもモーターは唸(うな)りを上げたままになり、上昇し終えると柱から外れて落下するという“恐怖のエレベーター”!
実物なら絶対に乗りたくありません。




2日目でようやく、タッチセンサーの働きにより、地上でも頂上でも自動停止する安心エレベーターになりました。
実物でも、年を追うごとにセンサー類が多くなって安全性が高まっています。




 最後の競技は、高層エレベーターチャレンジ!
安全性はさておき、どこまで柱を高くして昇れたかを競います。








限られたパーツ数で、重たいかごが伝っても折れないギリギリの強度を保ちながら(*1)、いかに長く(高く)伸ばすかが工夫のポイントです。








テキストでは30cmそこそこであるのに対し、3倍、4倍と記録が伸びていき、中には5倍の150cmを超えんとする破竹(はちく)の勢いも見られました(*2)。




もうここまでひょろ長くすると、レール柱が竹のように撓(しな)り、今にも大事故になりそうで見ている方もハラハラでしたが、実物を設計するときは安全第一でね。


*1 かごの重心が偏っているので、上昇するほど柱が曲がり、倒れやすくなります。

*2 柱の高さではなく、かごが上昇する行程で測りました。


1.4 <アドバンスプログラミングコース『モゾット(2)』>



 モゾットの3日・4日目です。

 左右の足を独立して動かせるように、右足と左足を繋ぐシャフト4ポチをシャフトペグに変え、右用と左用にそれぞれモーターを取り付けました。

これで2つのモーターの回転方向を制御することによって、前進・後退・右旋回・左旋回を自由に行えるようになりましたが、実際にロボットを動かしてみると上手く前進しないことがあります。


 歩行ロボット全般に言えることですが、推進するためには右足と左足を交互に動かす必要があります。
(同じように動かすと、屈伸運動になって前に進めませんね)

そういうことならと、モゾットの足を左右でずらした状態からスイッチを入れてみます。
初めのうちは上手く進んでも、次第に進まなくなりました。


これは、左右のモータが正確に同じ速さで回ることはないので、右足と左足が揃う時期がくるためです。

 確実に歩ませるために、右足と左足をずらして動かすよう、プログラムで制御します。
テキストp.16以降のプログラムがこの制御を取り入れています。


具体的には次のように制御されます。

①.両足を動かす
②.左足のタッチスイッチが押されたら1秒後に左足を止める
③.右足のタッチスイッチが押されたら両足を動かす
④.①に戻って繰り返す


 プログラムは簡素ですが、モゾットの足の動きに照らして考えないと分かり難いため、図式化しました。
















 縦軸: ロボット本体に対する足の位置(前後)
 横軸: スイッチを入れてからの経過時間(秒)
 青色: 右足の動き
 赤色: 左足の動き
  ★ : 各足のタッチスイッチが押された時点


プログラムがモゾットの足をどのように制御をするかを見ていきます。

【時間 0~1】
 中間位置に左右が揃った状態でスイッチを入れ、プログラム①によって左右の足が動く

【時間 1~2】
 左足のタッチスイッチ(赤色★)が押されると、プログラム②によって1秒後に左足が止まる右足は動き続ける

【時間 5】
 右足のタッチスイッチ(青色★)が押されると、プログラム③によって左足が動き出す


ここまでで、右足左足より1秒分ずれて遅れた状態になります。
これ以降は時間 5~9 の繰り返しです。

ずらしが完了する【時間 5】前後では、左右の足の位相(いそう)関係(グラフを重ねた時のズレ)に変化があります。
【時間 0~2】ではグラフの山と山が揃っているのに対し、【時間 5】以降ではズレが保たれています。

 次にずらし制御される時間 9 では、
左足タッチスイッチ(赤色★)の押下後1秒経過と、
右足タッチスイッチ(青色★)の押下ほぼ同時に起こるため、
左足はほとんど停止することなく動き続けます。
(実際のモゾットも初回のずらし以降では左足は止まるように見えません)

毎回タッチスイッチが押される度に、右足左足に対して一定間隔遅らせるように制御するので、左右の負荷(ふか)の違いなどで両足が揃ってしまっても修正できます。


 4日目では、モゾット同士で相撲バトルを行いました。
改造例の一つに、光センサーを底部に取り付け、黒枠から出そうになると自動で後退&方向転換させるプログラムがあります。
これを使うと、相手と取っ組み合う期間が長くなり、ミドルコースまでのロボットでは味わえない能動性による面白さがありました。


様々な工夫の中で、モゾットの弱点である(?)左右のギアLを狙ったロボットの圧勝ぶりが目立ちました。
長い槍(やり)で相手の2枚のギアLの間を突いて、噛み合わせを外します。
防御シールドも虚しく、ギアLが槍を巻き込んで動かなくなりました(*1)。




 タッチスイッチと光センサーでリモコン化した半自動コントロール方式も登場しました。
前進・後退・停止・右旋回・左旋回を選ぶに当たり、タッチスイッチ2つでは足りないので、モード切替レバー位置を光センサーで読み取るアイデアで実現していました(*2)。
操作性も良好で、見事な実装でした。


*1 そう、前進中は2枚のギアLが前を巻き込む方向に回るのです。
 突かれそうになったら後退指令できるリモコンが欲しいところでしたね。

*2 各モーターの正逆回転を切り替えるだけの単なる手動スイッチとは違います。
 シーケンス制御といい、トリガー(スイッチ)入力に応じて予め定めておいた手順で一連の動作が再生されます。
 ロボプロコースでより高度にプログラミングします。



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


 3ヶ月間の多脚リンクロボットを終え、新しいタームに入りました。
1ヶ月目は、マイコンの入出力として、音と光を操ります。


 1日目のテーマは、「超音波距離センサーを使う」です。
超音波とは、人間の耳には聞こえない、概ね20kHz以上(*1)の高い周波数の音を指します。
自然界では、イルカ、コウモリ等の生物が利用し、人工物では、犬笛や、魚群探知ソナーが代表的な利用例です。

利用目的としては、コミュニケーション対象物・距離感知(反響定位/エコーロケーション)に分けられますが、今回のはセンサーですので、後者の方です。
知ってはいても、実際に活用したり、制御したりしたことは無かったでしょう。


 超音波センサーが感知した障害物までの距離をLEDマトリクスに表示するプログラムを試したところ、数cm離した手のひらから90cm超の壁まで、1cm単位で正しく判定することが確認できました。
“泥棒アラーム”など、実用性の高い電子機器がすぐにでも作れますね。

 ここで、超音波で距離を計測する仕組みを理解したでしょうか。
目玉のような2個セットの円筒は、同じように見えて(*2)、一方は超音波を出すスピーカで、他方は反射音を拾うマイクです。

340m/秒で音が伝わる空気中において、1/1000秒後に反射音をキャッチしたら、対象物までの距離は 0.34m÷2=17cm ですよ。

 1日目の最後は、“テルミンもどき”プログラムで遊びます。
超音波センサーが捉えた距離 dist を用いて、“play(dist*20, …)”と記述すれば、22cmのときにラの音(440Hz)を出し、手を近づければ低く、遠ざければ高い音に変化させることができます。


テルミンとは馴染みのない楽器だったでしょうが、空中の手の位置で音程を操る点は共通です(*3)。
超音波センサーは2つ繋いでいますので、1つは音程用で良いとして、もう1つは実物と同じく音の大きさを変えたいところ、その能力は無いので、音の間隔の変更(連続音~断続音)を司らせています。
こうすることで、音の停止(聞こえないほど小さくする代わりに、間隔を無限にあける)を実現しています。

2つのセンサーが担う機能をいろいろ変えて、面白い楽器に仕立てて遊んで欲しいと思います。

 2日目のテーマは、「色で遊ぶ」です。
カラーセンサーボードを接続して、フルカラーLEDを任意の色に光らせたり(出力)、カラーセンサー(1ドットカメラ)で外光を撮影したり(入力)できることを確かめました(*4)。


 ここで、全ての色は“光の3原色”の混ぜ合わせで作り出せることを実験しました。
テレビ等の映像ディスプレイに採用されているRGBカラー方式の元になる原理です。

昔のパソコンが、モノクロ画面に代わり、カラー表示能力をもったばかりの頃は、の各色を1ビット(0/1)信号だけで制御したため、2×2×2=8色(デジタルRGB)表示から始まりましたが、メモリやCPU性能の向上に伴って、2ビット64色、3ビット512色、4ビット4096色、6ビット26万色と多色(アナログRGB)表示が進み、現在は8ビット1677万色(フルカラー)が標準です。

 ここで、各原色(RGB)を多ビットで駆動するということは、例えば2ビットなら4階調(0%, 33%, 66%, 100%)の明るさで光らせることであり、その制御方法として、下記の2方式があることを学びました。
A) アナログ方式 - 階調に応じた電圧や電流値に変える
B) デジタル方式 - 高速な0/1信号波形の時間幅の割合を変える

今回のフルカラーLED表示(*5)にも使われている B)方式パルス幅変調(PWM)方式と呼び、マイコンやプログラムとの親和性が高いので、デジタル制御回路において多用されています。

 ところで、色の再現方法には、RGB色モデルの他にも、色味(色相H)・鮮やかさ(彩度S)・明るさ(明度V)を指定して表すHSV色モデルもあり、これらの3次元色空間モデルのいずれでも同一色を表現したり、相互に変換したりできます。

 最後に、“光の3原色”について、付け加えておきました。
3原色と言われると、物理学的にが全ての色の元となる“純色”であって、などは“混色”に過ぎないとの錯誤に陥りそうですが、実は、人間の視覚の都合による決め付けに過ぎません。


人間の網膜には、の光(波長)に“良く”反応する3種の視細胞(赤錐体緑錐体青錐体)が高密度に分布しており、この錐体の興奮度合い(電気信号)が視神経を通して脳の視覚野に伝わり、その組み合わせ次第を“勝手に”色として感じているのです。

テレビやカメラがRGB方式を採るのも、この視覚特性に由来しており、人間が「実際の風景を忠実に再現した」と感じる4Kハイビジョン映像も、他の生物や宇宙人の目には、実物とは随分異なる映像色に映るかもしれません。

 また、赤と緑の間の単波長光が目に入っても、赤錐体緑錐体の両方が弱く反応して「黄色」と感じます。
つまり、人間は、黄色に感じる光が赤と緑の混合なのか、単色光(*6)なのかを区別できません


もっと言うと、0.01nm以下から100,000,000,000,000nm(百km)以上の波長まで連続的に存在する電磁波のうち、400~800nmの可視光というごく狭い帯域に人間の視覚が割り当てた“”という概念は、まやかしに過ぎないのです(*7)。

 閑話休題し、2ヶ月目は、カラーセンサーを利用したトレーサー(追跡)ロボットを組み立てます。


*1 何kHzの音まで聞こえるか試せる“耳年齢”アプリというものがありますが、悲しいかな、中年の先生には15kHz辺りが限界です。10代の皆さんには18kHz以上まで聞こえるようですが、先生にとっては既に超音波の域です…。

*2 いや、実は同一部品でしょう。スピーカ(出力)とマイク(入力)は、モーターと発電機の関係に似て、原理的に同じ構造です。
 パソコンやオーディオ用のイヤホンも、マイク端子に挿して話しかけると、立派にマイクとして働きます。

*3 実物は、アンテナと手との間の静電容量の変化を、発振周波数(音の高さ)の変調に利用しています。

*4 LED発光および撮影自体はフルカラーRGB色モデルで処理していますが、サンプルプログラム ColorSensor1 や OneDotCamera[Average] 中では、一旦HSV色モデルに変換し、彩度(S)と明度(V)の情報を捨て、色相(H)のみを残して再生するため、視覚とは異なる色に写りますが、色味としては正しいと信じましょう。

*5 サンプルプログラム ColorLED2 で各色を100段階に調整できることからすれば、7ビット(128階調)209万色相当なのでしょうか。

*6 オレンジ1色のナトリウムランプ(単波長590nmの光)が照らすトンネル内の世界では、もはや「色」は存在しないのです…。

*7 この世の物質にも“色”という実体は無く、単に電磁波の波長ごとの反射率や吸収率の違いによる波長分布(スペクトル)の変化と、感覚器官による勝手な解釈があるに過ぎません。


2. 今月の課題


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

 <プライマリーコース>
  - オリジナル図形プリント

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

 <ミドルコース>
  - オリジナル課題プリント(3面図+設問)
  - 上記授業内容を精読する

 <アドバンスプログラミングコース>
  - オリジナル課題プリント(見取図+設問)
  - 上記授業内容を精読する

 <プロ1年目コース>
  - 上記授業内容を精読する(該当テキストページを見ながら/記事より授業が遅れているので予習する)
  - 泥棒アラーム[USSApp1]をベースに、入退室判定(鳴り分け)チャイムに改造する
  《ヒント》
   US1→US2の順に検知したのか、US2→US1の順に検知したのかを判定する為に、
   適当なフラグ変数を宣言 int flag; し、以前に検知した番号を記憶しておく。
   検知順に応じてメロディを変える。(メロディ演奏方法は[ToneTest]を参考)
   チャイムを鳴らした後はクリア flag=0; しておく。


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


◆中間2/9は『中間市生涯学習センター』で開催します。
◆八幡東2/2→2/9へ一週ずれます。
◆小倉北2月は一週ずつ遅れ、10日と24日です。(2/17臨時振替・有料)
◆全教室3月は一週ずつ遅れます。

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

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

 ⇒ 2/2, 16,  3/9※, 23※,  4/6, 20

 ※教室都合の為、3月は一週ずつ遅れます。


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

 ⇒2/ 9※第1回 生涯学習センター2F第4研修室
  2/23 第2回 ハーモニーホール3F会議室2
  3/16※, 30※,  4/13, 27※

 ※2/9は代替施設『中間市生涯学習センター』で開催します。
 ※教室都合の為、3月は一週ずつ遅れます。
 ※4/27はハーモニーホール利用不可の為、代替施設(未定)で開催します。


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

 ⇒2/10※第1回 5F小セミ
  (2/17※)臨時 5F企画ルーム2(振替専用・有料)
  2/24※第2回 5F小セミ
  3/10※, 24※,  4/7, 21

 ※教室都合の為、2月・3月は一週ずつ遅れ、10日と24日です。
 ※2/17は臨時振替日(1・2日目不問・定員8名)です。
  有料(~アドプロ540円/ロボプロ1,080円)です。
  2/10以降のキャンセル・欠席も頂戴します。
  満席の場合はご容赦下さい。


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

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

 ⇒ 2/9※, 16,  3/9※, 23※,  4/6, 20

 ※2/2はレインボープラザ利用不可の為、一週ずれます。
 ※教室都合の為、3月は一週ずつ遅れます。


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

 ⇒ 2/10, 24,  3/17※, 31※,  4/14, 28

 ※教室都合の為、3月は一週ずつ遅れます。


4. お知らせ

1) PCNこどもプロコン2018 - 観覧おススメ!
 PCNこどもプログラミングコンテストが今冬は 3/3(日)福岡ももち浜SRPホールで開催されます。
 メイン会場が福岡(初)なのは千載一遇のチャンスです!

 受付がまだのようですが、定員100名と少ないので、ご注意下さい。
 https://pcn.club/contest/
 http://robocobo.sakura.ne.jp/blog/lab/contest2018-2.pdf

 ロボット教室の全国大会も素晴らしいですが、ロボットやゲーム制作、電子工作など、
プラットフォームを問わず豊かなジャンルとアイデアで挑む子供たちの熱い息吹を感じて下さい。

 PCN北九州(中野・佐藤)からは応募が間に合いませんでしたが、次回(未定)は
IchigoJam や Arduino(ロボプロ)で出品してもらえるよう活動して参ります。

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


2) 2月景品交換会
 3ヶ月毎の宿題ポイント交換会を2月第1回授業時間「前」に開催します。
 ポイントカードを忘れずに、早めに来て下さい。


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

 ◆プライマリ【7名平均 図形3.7】
   5点…田中[八幡東 年長], 川田[小倉北 年長], 砂川[小倉北 年長]

 ◆ベーシック【17名平均 図面2.5+設問2.9=5.5】
  10点…下木[八幡東3], 橋本[小倉南1]
   9点…なし
   8点…林田[小倉南1]
   7点…井窪[中間6], 柴田[小倉北3]

 ◆ミドル【22名平均 図面3.5+設問1.6=5.1】
  10点…橋本[小倉南4]
   9点…荒木[小倉北4]
   8点…谷川[八幡東5]
   7点…重藤[小倉北7]


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