2019年3月31日日曜日

2019年3月報

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


1. 3月授業内容


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


 割愛します。


1.1 <プライマリーコース『のびーるハンド』>


 割愛します。






1.2 <ベーシックコース『う王さ王』>


 “右往左往(うおうさおう)”をもじっていますので、この四字熟語を知っていれば、動作は想像に難(かた)くなかったでしょう。

赤色に目立つ巨大なバンパー(フレーム)を前後に装着した四輪車が、どうも前後(横から見れば左右)の壁にぶつかる度(たび)にスイッチバックして、行ったり来たりを繰り返すようだ、
とまでは予想できましたが、1日目のテキストでは、「スライドスイッチを手で切り替えるのは大変だね」で終わり、核心部分はお預けです。


 2日目でようやく、衝突で押し込まれるバンパーがスライドスイッチを反転させる機構を組み付けました。

しかし、中には下記のポイント【レベル1・2・3】が未解決のため、最後までうまく動作しなかった例も散見されました。
スライドスイッチの固いものであったかもしれません。
レベル毎に順を追って、解決していきましょう。

【レベル1】最低限…
 1) テキストを良く見て、正確に作ること(絶妙に設計されており、自己流では困難)
 2) スライドスイッチのツマミを挟む部品をしっかり組み付けましたか?(ぐらつくようではダメ)(*1)

【レベル2】スライドスイッチが固い人は…
 3) スイッチを数十回左右に切り替えて、少し柔らかくする(モーターを外して!)


【レベル3】壁から受ける衝撃を強めるために…
 4) 摩擦を減らす(タイヤがスムーズに回るように)
 5) スピードアップ(電池4→5本)
 6) 重くする(荷物をのせる・ぐらつかないように)(*1)


【レベル4】それでもダメなら、もっとスピードアップ!
 7) モーター軸のピニオンギアをギアMに交換する(*2)
 8) 左右に走らせる幅を広めにとる(加速に時間がかかるので)

【レベル5】それでダメでも、まだある!
 9) 固いスイッチを弱い衝突力でも動かせるようにするには…?(てこの原理)(*3)


どうです?「ダメだー」と思っても、これだけ、いや、まだ他にもありそうです(*4)。

【レベル2・3・4・5】どれか1つでもOKかもしれません。
特に【レベル4】は簡単にできますし、これで動作しないことは無いでしょう。


 授業中、最後まで諦(あきら)めずに何とか動かそうと奮闘(ふんとう)した生徒さんほど、目からウロコなのではないでしょうか。
解決方法が身に染(し)みると思いますので、ロボットを壊す前に、ぜひトライしてください。


 本来、【レベル3】を自ら考案するのがミドルコース進級レベル、【レベル4】がミドルコース内レベル、【レベル5】がアドバンス進級レベルです。
自分の改造力にしてください。


*1 “ぐらつかない”ことは、大事なポイントです。衝突エネルギーが“ぐらぐら”で失われるからです。
 自動車のエンジンルームがつぶれやすく、車内への衝撃を和らげるのとは逆の考え方です。

*2 ピニオンギア(歯数8)をギアM(歯数24)に替えるので、3倍の増速になります。
 実際は摩擦のせいでそこまで速くなりませんが、かなりスピードアップします。

*3 大幅に作り変える必要があるでしょう。

*4 例えば、走行中に輪ゴムを巻いて、スイッチ切替用エネルギーとして補助的に使うなど。


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


 ミドルコース中、1・2番を争う傑作(けっさく)に位置付けたい、摩訶(まか)不思議なロボットが巡ってきました!

 動力はいつも通り、電池ボックスに繋(つな)いだモーター1個です。
手元で制御できることはせいぜい、スライドスイッチを反転させることくらいです。
なのに、スイッチを入れると、
1) 垂れ下がったハンド(アームの先端)が物を掴(つか)む
2) アームを水平まで持ち上げる
3) アーム全体が回転して反対側へ運ぶ
の順に動作します。


所望の位置で止め、今度はスイッチを反転させると、先程の逆順ではなく
4) 先ずはアームを降ろし
5) ハンドを開いて荷物を離し
6) アーム全体を元の側に回転して戻す
という一連のクレーン操作を熟練したかのようにこなすのです。

スイッチを入れている間、モーターはずっと一方向に回り続けているだけです。不思議ですね。

 これは言わば、バイクがアクセルをあおり過ぎてウイリーしてしまうのに似た原理です。
バイクのエンジンが生み出した力は、バイク全体を加速させることと、
前輪を浮き上がらせることの2方向に使い道が残されているのです(*1)。
力の逃げ道といった方が感覚的には分かり易いでしょう。

通常は、ウイリーよりも小さい力で済む加速だけに使われますが、
物体(バイク)は素早く加速させようとするほど大きな力を要する慣性の法則(*2)により、あまりに強大な力(エンジン全力)にとっては、ウイリーさせる(前輪を浮き上がらせる)方が“”なのですね(*3)。

 ロボットアームでは、慣性の法則は殆(ほとん)ど効いていませんので、負荷(アームに掛かる重力や、ジョイント部の摩擦)の軽い順に可動範囲を使い果たし、力が次々と逃げ道を探すのです(*4)。


実際、3段階目のアーム回転動作が軽すぎて、2段階目の持ち上げ動作をスキップしたり、並行動作したりするなど、不安定になる場合がありましたが、
・ 土台(ギアボックス)と回転アームの間に輪ゴム(またはホイール抜きタイヤ)を挟む
・ アーム自体を装飾して重くする
ことで摩擦を稼ぐと、スムーズに動作しました(*5)。


 完成したロボットで、荷物搬送ゲーム(アメ玉キャッチャー)をプレイしました。
ロボットの片側エリアからアメ玉を掴んでは、アームを180°回した先のトレイ上に降ろしてゲット!
アームの回転摩擦力を増やして、しっかり持ち上がるようにしておかなければ、トレイの縁の高さに阻(はば)まれます。


単純に思えたスイッチの反転操作に手間取る(必ずしも逆順に動作しないので、細かなやり直しが難しい)一面もありましたね。


*1 接地状況により、ホイールスピン(タイヤを路面上で空転させる)を3つ目に数えることもできます。

*2 高校物理で学ぶ、〔力=質量×加速度(F = m・a)〕です。



*3 “楽”に動く方が選ばれるもう1つの原理は、作用・反作用の法則です。
 物が動き始めるには、別の物を押して返ってくる反力をもらわねばなりません。
タイヤのグリップ力が強大で滑らない場合、固い地面はバイクのエンジンパワーに負けることなく、タイヤが蹴るのと同じ力でいくらでも押し返してくれます。
ランニングマシンの上なら、床の方が後方へずれる動きも可能ですが、逃げない相手(動かない地面)に対しては、自分の方が逃げる(加速かウイリー)しかありません。
 ハンドやアームが限界位置まで来ると、それが動かない地面のように振舞って、次の動作へ逃げます。

*4 アームの「上げ・下げ」に必要な力は重力が大きく関係しますが、ハンドの「掴む・離す」はほぼ同じ力で済みます。
 だから、「掴む→上げる」の順だし、「下げる→離す」の順になるのです。
アームの旋回には、これらより大きな抵抗(摩擦力)が働けば、動きの順序に一貫性が生まれます。

*5 〔摩擦力=摩擦係数×荷重〕なので、輪ゴムを挟むことと、重くすることの両方が効果的です。氷上では重たい力士でもツルツル滑ってしまいますよね。


1.4 <アドバンスプログラミングコース『メクリン(2)』>



 前半(1・2日目)の複雑でメカメカしい作りから、シンプルなロボットへと作り変えました。
前半のロボットでページをめくるには、機械的な微調整が不可欠でした。
後半のロボットでは、可動部がモーターに直結されているため、機械的な調節の余地は少なくなりました。


 ページをめくろうとするとき、適度な力でゴムタイヤを紙に押し付ける必要がありました。
後半のロボットでは、タイヤを取り付けた腕を振り下ろした後もモーターを駆動させ続け、この力を生み出しています。
しかし、ずっとタイヤを紙に押し付けたままページをめくってしまうと、紙が折れ曲がってしまい、上手くいきません。
そこで、ロボット本体が左に移動したある時点で、腕モーターの駆動を止め、ページの折れ曲がりを防いでいます。


 後半のロボットの良さは、微調節を機械的に行うのではなく、ソフトウェア的に行える点にあります。
紙を押さえ付ける圧力を調整したければ、モーターの出力値を変更すれば済みます。
圧力を解放するタイミング等も、プログラムから制御できますね。

 4日目の教室では、「ページめくりを極めるも良し。ロボットを使った遊びを考えるもよし。」として、
一部の生徒さんとプログラムを改造して、「叩いて、かぶって(の代わりに逃げて)、じゃんけんぽん」ゲーム機にして対戦しました。  



この遊びに対応するのに、ロボットの機械的な改造は不要です。
右タッチスイッチを押すと、腕を振り下ろし、相手を叩きます。
左タッチスイッチを押すと、相手の攻撃をかわすためにロボットを左に移動させればよいわけです。

機械構造的には同じでも、プログラムで機能がガラッと変わるのは面白いですね。

 プログラム次第で機能を変更できるのは、コンピュータの最大のメリットです。
小型のコンピュータ(マイコン)が開発される前は、製品ごとに専用設計のICチップを開発していました。
例えば、電卓には電卓専用設計のチップを、時計には時計用、オーディオにはオーディオ用といった具合にです。
専用チップを作るためには、製造ラインから作り変える必要があるので、時間もお金も多く必要です。
また、一旦チップを作ってしまうと後から機能の追加や変更はできません。その時は、また一から作り直しです。

ところが、マイコンの登場により、この状況は一変しました。
マイコンであれば、多くの機能がプログラムだけで変更できます。
電卓にも洗濯機にも、同じマイコンチップを搭載することが可能になるのです。  
マイコンを使うことで、電気製品の開発コストは下がり、開発期間も短くなりました。


皆さんがよく遊ぶゲーム機も、ゲームごとに本体を買い直す必要はありませんよね。
無料ダウンロードだけでも、いっぱい遊べちゃうわけです。
そこでも、コンピュータとプログラムの恩恵を受けているわけですね。 
昔は1つのゲームしかプレイできないゲーム機も珍しくはなかったんですよ!
(それはそれで新しいハードを手に入れるのがとびきり楽しみな時代でしたが…)


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


 冬タームの最終月を「ウルトラソニックロボット」で仕上げます。

 自律型ロボットといえば、障害物や段差を感知して、衝突や落下を回避しながら進むものを先ず想起するのではないでしょうか。
お掃除ロボット『ル○バ』などもそうですね。

感知に最も良く使われるのが、この超音波センサーです(*1)。
イルカやコウモリ等の生物から魚群探知機まで、反射音(方向・時間・強弱・周波数)の状態や変化を探ることで、視覚の代わりに(時にはそれ以上に)なるのです。

反響定位(エコーロケーション)と呼ばれますが、本ロボットや一般の障害物センサーでは、そこまでの解析能力はありません。
特定方向の(一定以上の大きさの障害物から)反射音が返ってくる時間(=距離)だけを計測しています(*2)。

 1日目では、2つのセンサーを別々にモニターすることでの可能性を垣間(かいま)見ました。
センサー1つでも、手をかざせば近寄り、近づけすぎると後ずさるなどプログラムできますが、両目のように左右に並べれば、左右の(状況の違いが分かる)感覚を生み出せます。

左右での感知距離(dist1, dist2)の差に応じて旋回させれば、かざした手の方向にフラフラと追跡するまでになりました[step3]。
しかし、2つの距離情報を扱うのは、プログラムの条件文(判定式や分岐)が複雑になります。




 2日目では、センサー1つを様々な位置に取り付け、プログラムを適応させることで、
・ 障害物を避けるロボット[avoider]
・ 机から落ちないロボット[nofall]
・ 机の端を沿うロボット [tablerunner]
壁ぎわを沿うロボット [walltracer]
が実現できることを経験しました。

あの『ル○バ』に勝るとも劣らず、生き物らしく見えたでしょ?

 センサーで拾うたった1つの値と、それを条件に動作を分ける論理(プログラム)とで、これだけの(これ以上の)ことができます。
どれも、プログラミングのレベルに大差ありません。

ちょっと難しく見える“おまじない”や数値処理上の工夫(*3)がありますが、核心の論理“if(条件) {動作1;} else {動作2;}”は、非常に単純明快で必然的なものです。

もっと場合分け(条件分岐)したければ、“if(条件1) {動作1;} else if(条件2) {動作2;} else if(条件3) {動作3;} else {動作4;}”等ですね。

怖(おじ)けずに、自分のロボットにを吹き込んでみてください。
君こそがフランケンシュタイン(怪物の創生者)であり、鉄腕アトムのお茶の水博士なのですから。


*1 GHz級クロックの電子回路など、技術の発達した現在では、光(電磁波)を用いたレーザー距離計やGPSセンサーも安価に手に入るようになりましたが、生物の感覚器官ではとても追いつけません。視覚が光を利用するのとは別の話ですよ。

*2 音の伝わる速さとして、空気中で340m/秒、水中で1500m/秒を覚えておきましょう。
 すなわち、地上と水中で計算式が変わりますが、時間から距離が求まります。

*3 dist/=10; または dist=dist/10; で dist値 1~99[cm] を 0~9(整数) に粗くし、大雑把に扱えるようにしています。
 例えば、if(dist==1) と書くだけで 10~19[cm] の範囲を指定することができるようになります。


2. 今月の課題


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

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

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

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

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

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


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


◆中間4/27は『中間市生涯学習センター』で開催します。

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

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

 ⇒ 4/6, 20,  5/4, 18,  6/1, 15


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

 ⇒4/13 第1回 なかまハーモニーホール3F会議室2
  4/27※第2回 中間市生涯学習センター1F
  5/11※, 25,  6/8, 22

 ※4/27, 5/11はハーモニーホール利用不可の為、代替施設で開催します。


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

 ⇒4/ 7 第1回 5F小セミ
  4/21 第2回 4F和室・工芸室
  5/5, 19,  6/2, 16


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

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

 ⇒ 4/6, 20,  5/4, 18,  6/1, 15


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

 ⇒ 4/14, 28,  5/12, 26,  6/9, 23


4. お知らせ

1) KIGSワークショップ出展しました
 https://www.kigs.jp/event/2019/01/408.php



 昨年3/25(日)のコマ回し挑戦ブース『モーターで回せ!最強持久コマ!』に続き、
今年3/9(土) KIGS春のわくわくワークショップまつりには、PCN(Programming Club Network)北九州として、
IchigoJamマイコンゲーム『プログラミングで進め!イチゴの道』と『カムロボくん操作体験』の2ブースを出展しました。

 AM/PM合わせて延べ200~300名(たぶん)のお子さんが訪れ、何名かの生徒さんにも会いました。


 40~60秒の制限時間内に、ゴールまで道を外れないアバターの進み方をプログラミングするゲームでは、「激ムズ!」というクレームが噴出する中、
何度も粘り強く挑戦してくれた6年生が唯一レベル5:ウィザードコースをクリアしてくれるなど、大人顔負けの瞬発的な分析力を見せる面々に出会えました。


2) IchigoJam初級プログラミング ~ゲーム工作編~ 終了

 3/21(木・祝)北九州パレスにて、15組の方に参加頂きました。

 モニタ画面の世界から飛び出して、マイコンの入出力ピンに外付けの電気回路を繋ぐことで、「イライラ棒」の当たり・ゴール判定や、ライフLED点灯が簡単にプログラミングできました。


 作ったゲーム機を生徒さん同士でシャッフル交換し、3灯のライフや制限時間を使い果たすことで別売り(?)の風船爆弾が起爆するゲームにもドキドキしました。

 次回6/30(日) 開催予定の講座をお楽しみに。(詳細は5月報でご案内します)



3) 8月~新ミドルコース(プログラミング対応)へリニューアル[再掲]
 ミドルコースがアドプロコース用のマイコン・センサー類を一部下ろす形で、8月~タブレットを用いた簡易プログラミングに対応します。

【キット代(税別)ご負担の流れ】
 ~7月:入会時2.85万円→アドプロ進級時2.7万円
 8月~:入会時2.85万円→ミドル進級時1.8万円→アドプロ進級時0.9万円

 従来ミドル内容をベースとした改編ですので、進級タイミングに関わらず、新旧ミドル合わせて18ヶ月満期の履修が原則となります。

 8月時点でミドル継続中の方は、残り期間に応じて、新旧コースの選択肢を提供する予定です。詳細は決まり次第ご案内いたします。

 http://robocobo.sakura.ne.jp/blog/0227_newmiddle.pdf


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

 ◆プライマリ【6名平均 図形2.8】
   5点…なし
   4点…川田[小倉北 年長], 矢吹[小倉北 年長]

 ◆ベーシック【20名平均 図面2.8+設問2.7=5.4】
  10点…なし
   9点…柴田[小倉北1], 橋本[小倉南1]
   8点…中村[東福間3], 西谷[八幡東1], 林田[小倉南1]
   7点…下木[八幡東3], 藤野[八幡東3]

 ◆ミドル【28名平均 図面2.6+設問2.6=5.2】
  10点…なし
   9点…なし
   8点…中野[東福間3], 森崎[八幡東3], 福政[八幡東4], 荒木[小倉北4]
   7点…桑村[中間4], 宮尾[八幡東5], 糸山[小倉北4], 大橋[小倉北5], 大和(彩)[小倉北4], 馬渡[小倉南4]


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

2019年2月28日木曜日

2019年2月報

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


1. 2月授業内容


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


 割愛します。


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


 割愛します。















1.2 <ベーシックコース『リトルドッグ』>



 愛犬ロボットと銘打(めいう)つ、4足歩行ロボットです。
側面(そくめん)で同じ向きに回転する4枚のギアLがそれぞれの足を動かします。
ギアL上に挿(さ)すペグSの位置だけで、各足を運ぶタイミング(*1)や動きの大きさ(*2)をそれぞれ変えられるので、
4足の運び方による進み方の違いを観察するのにうってつけの教材です。


 1日目の製作を終えた段階では、うまく歩けない子犬が続出(ぞくしゅつ)しました。
特に、左右で足の動きが同じだと、おかしな仕草(しぐさ)になります。
横から見て回転するような屈伸(くっしん)運動になり、前へつんのめって顔面を打つマヌケ犬か、100円で前後上下に動く乗り物のようです。全く進みません。

しっかり歩ける犬かどうかは、坂道チャレンジで良く分かりましたね。


 4足の運びに正解が決まっているわけではなく、重心やスピード、足の跳(は)ね方によって変わりますが(*3)、まずは左右も前後もタイミングを90~180°ずらしてみましょう。


片足ずつ、後ろ足のゴム(グロメット)で上手に地面を蹴(け)ることができれば進むでしょう(*4)。
また、バランス(重心)や足(前後)の運び方、グロメットの取り付け状態など、左右で違いがあるとまっすぐ歩きませんので、注意します。

うまくいけば、トコトコと愛らしい小走りが見られます。
電池が弱いとヨボヨボの老犬に見えました。


*1 位相(いそう)と呼び、角度 0~360°で表します。

*2 ギアLのペグ穴には、内側の穴(中心に近い)と外側の穴(中心から遠い)があり、テキストでは外側にペグを挿していますが、内側に挿すと、足の動きが小さく、小股(こまた)歩きになります。
 スピードが遅くなるので、力は増え、坂道を上る時や綱引きに有利です。

*3 同じ動物(犬)でも、スピードによって4足の運びを何種類も使い分けていることがテキストp.21のイラストで分かります。

*4 足を後方へ運ぶ瞬間が速くなるようなスイッチの向き(テキストp.16)に入れます。
 ただし、ペグSを4足分ともギアLの内側の穴に挿すだけで逆向きに変わったりして、進み方を予想するのはとても難しいので、いろいろ試して観察しましょう。


1.3 <ミドルコース『ウォールフォロワー』>


 壁伝いロボットという意味です。
右回り専用ながら、前方の右側面から生えたガイドバーが段ボールなどの壁面を正確にたどりながら周回します。

単にずっと右に曲がろうとしている結果じゃない?

そういう声もあります。
確かに、あまりにうまく壁を伝うので、そういう風にも見えます。
まるで、マイコンで周回路を認識した自律型ロボットみたいです。

 実際のところ、このロボットは、左タイヤはずっと回転したまま、右タイヤを回転させたり止めたり制御することで、直進右旋回(せんかい)の2つのモードを自動的に切り替えているのです。

制御機構は、壁面に押されて引っ込んだり、壁面から離れると輪ゴムの復元(ふくげん)力で元の位置まで出っ張ったりするガイドバーが、右タイヤへの動力を断続させるクラッチレバーのような働きを担(にな)うことで実現しています。
これは面白い!(*1)


 輪ゴムの掛け方が強すぎると、まっすぐな壁を沿うにも右旋回モードが解除されず、壁に正面を向けて行き詰まるか、ガイドバーを擦(す)り付けるようにたどたどしく進みました。

逆に弱すぎると、直進モードから右旋回モードに移行しにくくなり、コーナーを過ぎても直進し続けるか、反応が鈍くて大回りしてしまいましたね。

自重(*2)と走行スピードに見合った輪ゴムの復元力が、壁面への追従性を決めていました。


 最後の競技は、名付けて『ウォールフォロワーGP』!
開いた段ボールをひし形に潰して床に固定し、鈍角(どんかく)と鋭角(えいかく)コーナーのでき上がり!
右回りに周回するタイムを計測します。


直角(90°)や鈍角(>90°)はスマートに曲がれても、鋭角(<90°)ですぐに曲がり始めると、右タイヤが引っ掛かってタイムをロスします。
輪ゴムを緩(ゆる)めに掛け、少し遅れて大回りする方が早く曲がれるというのが、セッティングの要(かなめ)なのでした(*3 *4)。

正に『急がば回れ』!


*1 このロボットを初めて見た先生も感心しましたが、同様に工学畑(オタク?)の大学生講師らも本アイデアに唸(うな)ることしきりでした。
 機械式の単純なメカニズムで高度な制御を実現する“機能美”にくすぐられているのです。センスある君も感動したよね!?

*2 作用・反作用の法則により、マシンの横方向の摩擦力(=重さ×タイヤの摩擦係数)以上にはガイドバーを壁面に押し付けることはできません。
 つまり、輪ゴムを強く掛けすぎると、ガイドバーが押し込まれずに(右旋回モードのまま)壁に寄せ(タイヤをスリップさせ)続けようとし、ギクシャクします。


*3 タイヤをぶつけないよう、曲がり角を少し過ぎてからターンするなんて、サイコーにクールです!
 他に、ガイドバーを延長したり、ガイドローラーをマイタギアから直径の大きなギアLに換えたりして壁面からの距離を空け、コース取りを大回りにした工夫も見られました。


*4 もしくは、ギアを組み替えて、テキストの1/9減速ドライブを1/1等速ドライブなどにスピードアップする改造も見られました。
 速いと、ガイドバーの追従性が相対的に低下するので、大回りし易くなりますが、増速しすぎるとトルク(タイヤの回転力)が弱くなるので、必ずしも速くなるとは限りません。





1.4 <アドバンスプログラミングコース『メクリン(1)』>


 読書支援(ページめくり)ロボットは、思いの外、様々な形態で実用化・製品化されています。

ここは、文章よりも、興味深いYouTube動画で学びましょう。


■自動ページめくり機「りーだぶる3」 ダブル技研株式会社
【紹介動画】https://youtu.be/gA6nZJLYaCM
【製品説明】http://www.j-d.co.jp/welfare/readable.html
【機構的特徴】
 めくりアームの先端にページ押さえとローラが取り付けてある。
 ページを押さえつつめくりローラを回転させることで、1枚のみめくれるよう工夫されている。

■電子書籍化支援システム「ブックターナー BT-100」 CASIO計算機
【紹介動画】https://youtu.be/ee-H68B6Vt4
【製品説明】https://web.casio.jp/bookturner/
【機構的特徴】
 アームの先端に取り付けた粘着ローラで紙を吸着する。
 吸着したあと、紙を押さえつつ端からめくることで、下の紙が一緒にめくれないよう工夫されている。

■高速・高精細書籍電子化システム「BFS-Auto」 東京大学 石川妹尾研究室
【紹介動画】https://youtu.be/03ccxwNssmo
【製品説明】http://www.k2.t.u-tokyo.ac.jp/vision/BFS-Auto/index-j.html
【機構的特徴】
 紙をパラパラめくる方式。
 ページを固定しているストッパーを1枚分のみずらしてめくる。
 ストッパーの動きを高精度で制御している。

■自動ページめくり器「ブックタイム」 西澤電機計器製作所
【紹介動画】https://youtu.be/Cj-fGT_lfFk
【製品説明】http://www.nisic.co.jp/products/assistive/booktime-operation.html
【機構的特徴】
 1・2日目(今月)の『メクリン』と同じ仕組み。
 ページの表面をラバーでさらい、隙間にロッドを差し込み、ページを送る。


1.5 <プロ1年目コース『不思議アイテムI-2(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です。


2. 今月の課題


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

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

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

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

 <アドバンスプログラミングコース>
  - 上記授業内容に紹介した動画(YouTube)を視聴する

 <プロ1年目コース>
  - 上記授業内容を精読する(該当テキストページを見ながら)
  - カラートレーサープログラム[ColorTracer]を改変し、
  赤(好き!)へ突進、青(怖い!)からはゆっくり後ずさり、
  それ以外では停止するロボットに仕立てる

  《ハイレベル挑戦》さらに、緑(臭い!)で旋回する動作を足せるかな?

  【注意】色は色相 h で表し、赤:h<15 or h>315、青:195<h<255、緑:75<h<135 等で与えます。動作を足すほど不意に動き回って危険ですので、特に後退時はスピードを抑え、忙(せわ)しすぎる場合は反応する色相範囲を狭めて(停止範囲を広げて)下さい。


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


◆全教室3月は一週ずつ遅れます。3/2(土), 3/3(日)の授業はありません。

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

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

 ⇒ 3/9※, 23※,  4/6, 20,  5/4, 18

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


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

 ⇒3/16※第1回 3F会議室2
  3/30※第2回 2F会議室1
  4/13, 27※,  5/11※, 25※

 ※教室都合の為、3月は一週ずつ遅れます。
 ※4/27~5/25はハーモニーホール利用不可の為、代替施設(未定)で開催します。


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

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

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


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

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

 ⇒ 3/9※, 23※,  4/6, 20,  5/4, 18

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


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

 ⇒ 3/17※, 31※,  4/14, 28,  5/12, 26

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


4. お知らせ

1) 8月~新ミドルコース(プログラミング対応)へリニューアル
 昨今のプログラミング教育に対する関心の高まりや、小中学校での必修化の流れを踏まえ、
ミドルコースがアドプロコース用のマイコン・センサー類を一部下ろす形で、8月~タブレットを用いた簡易プログラミングに対応します。

 新ミドル切替時に、アドプロキット代2.7万円(税別)の一部1.8万円をご負担(その後アドプロ進級時は0.9万円)頂くことになりますが、
従来ミドル内容をベースとした改編ですので、進級タイミングに関わらず、新旧ミドル合わせて18ヶ月満期の履修が原則となります。

 8月時点でミドル継続中の方は、残り期間に応じて、新旧コースの選択肢を提供する予定です。詳細は決まり次第ご案内いたします。

 http://robocobo.sakura.ne.jp/blog/0227_newmiddle.pdf


2) 第2回 IchigoJamマイコンプログラミング定期講座《まもなく満席》

 第1回 12/24(月・祝) サウンド 編 に続き、
 第2回  3/21(木・祝) ゲーム工作編 を開催いたします。

【2/16~24配布チラシ】
 http://robocobo.sakura.ne.jp/blog/lab/IJ-B1903.pdf


 「イライラ棒」は今の中学生までには通じないようですが、
たまにはバーチャルゲームを離れて、工作でゲーム機を作ってみませんか?

 前半は、電子工作だけで遊べるゲーム機を作ります。
 後半は、マイコン+プログラミングのパワーで、プレイヤーをドキドキ楽しませる演出を作り込みます。
(第1回よりも易しめのプログラミングです)


☆スタートアップ(SU)未受講の方
は、3/2東福間 or 3/10小倉北をご検討下さい。
 SU講座7,020円のみでも楽しめますので、プログラミング体験にお奨めします。
 (マイコンを持ち帰り、継続できます)
 http://robocobo.sakura.ne.jp/blog/lab/IJ-SU1903.pdf


【講座名】
 IchigoJam初級ゲームプログラミング ~ゲーム工作編~
【内容】
 前半は、針金を曲げてオリジナルのイライラ棒を形づくります。
 後半は、プログラミングでスコア表示したり、効果音を出したり、りっぱなゲーム機に仕上げます。
【講師】中野・佐藤
【会場】北九州パレス(勤労青少年文化センター) 2F
【日時】3/21(木・祝) 10:00~15:00 (昼休み12:00-13:00)
【対象】下記の新小学3年生~中学生 15名(保護者同伴可)
    a) スタートアップ修了者
    b) スタートアップ受講可能な方

【必須費用】
 a)の方  5,940円(受講料5,400円+材料費540円)
 b)の方 12,960円(a)+SU受講料3,780+キット代3,240円)

【オプション費用】
 A-1) 7インチモニター   3,780円(持込み必須/モデル不問)
 A-2) PS/2対応USBキーボード1,350円(持込み必須/モデル不問)

【申込方法】下記を指定の上メールにてお申込み下さい。まもなく満席です!
 <スタートアップ種別>
   a) 修了済み    b) 受講希望
 <希望オプション>
  A-1) 7インチモニター  A-2) キーボード

【申込条件】
 - IchigoJam本体・周辺機器の持込品が故障した場合は、代用品を購入頂きます。

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

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


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

 ◆プライマリ【5名平均 図形3.0】
   5点…川田[小倉北 年長]

 ◆ベーシック【24名平均 図面2.7+設問2.3=5.0】
  10点…なし
   9点…橋本[小倉南1]
   8点…下木[八幡東3], 林田[小倉南1]
   7点…千葉[中間3], 野口[八幡東4], 柴田[小倉北1]

 ◆ミドル【27名平均 図面3.5+設問2.4=5.9】
  10点…なし
   9点…荒木[小倉北4]
   8点…田中[中間6], 渡邉[中間4], 森崎[八幡東3], 大橋[小倉北5], 重藤[小倉北7], 荻山[小倉南4], 馬渡[小倉南4]

 ◆アドバンスプログラミング【5名平均 図面6.8+設問4.0=10.8】
  最高15点…山本[中間6]


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

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]


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