学部生研修1日目
研修初日はまず講師の紹介を行った。当初は講師の紹介に引き続いて、ものづくりに関するグループワークを行う想定であったが、後述する自己紹介セッションが想像以上に盛り上がり、参加者一人ひとりが強い個性を持っていることが判明したため、予定を変更して個人のプロジェクト紹介を行うことになった。
プレゼンテーション1
本プレゼンテーションは、異なる学科から集まった参加者に対して自己紹介を行う目的で行った。テーマは”What is special of you?”、すなわち参加者一人ひとりの特別な点を教えてください、というものである。
Whats special of you?への回答(一部) |
バスケットボールが好き。エンジニアリングをバスケットボール と関連付けたプロジェクトをしてみたい。 |
「ケニア人には珍しく」、心の底から教員になりたいと思っている というのはケニアでは教員はBプランとみなされているから。 |
コニュニティ活動を行っており、ナイジェリアで活動している。 将来はマネジメントの仕事に興味があるが、知識の幅を広げるために メカトロニクスを学んでいる。海外旅行が好き。 |
アニメが好き。 |
プログラミングに情熱を持っている。陰謀論の信奉者である。 |
ハンマーをつけて戦い合うロボット(※BattleBots)が大好き。 ケニアにBattleBotsを持ち込んで普及させたい。 |
音楽が大好き。ドラムとギターを演奏できる。 |
ガジェットが大好き。 |
学生のプレゼンテーションを聞いていて印象的だったのが、参加者各々の語る口ぶりが、どれも自信に満ちあふれていたことである。ケニア特有のお国柄なのか、JKUATの教育が素晴らしいのか、はたまた彼らが特異点だっただけのかは定かでないが、学生が自立している印象を受けた。
プレゼンテーション2
続くプレゼンテーションでは、各自が取り組んでいるプロジェクトについて紹介してもらった。この意図は、参加者の多くが最終学年の5年生であり、卒業課題(Final project)に取り組んでいることがわかったので、プロジェクトを進める上での技術的な課題を明確にすることで、研修に参加するモチベーションを高めてもらおうというものである。また、技術スタッフ向けの研修でも感じたことだが、ケニア(あるいは他のアフリカ諸国も)では、どうしても情報を共有することに抵抗を感じてしまうようである。学生にとっては無用の気遣いだったかもしれないが、自分のやっていることを皆の前で話すことで、彼らの今後の学生同士のコラボレーションを促進したいという思いもあった。
以下に、参加者の学生が取り組んでいる卒業課題の一部を紹介する。
彼らのプレゼンテーションを聞いて、しっかりとモチベーションを持って自分のプロジェクトに取り組んでおり、素晴らしいと感じた。筆者の学部時代は卒業研究の課題は与えられたものであり、それなりに努力はしたものの、最後まで自分ごとにはならなかった記憶がある。自分のプロジェクトに主体的に向き合うことは、学習効率を飛躍的に高めることができる実感があるため、良いカリキュラムであると感じた。
また、タイムラインの観点からも、卒業課題のプログラムは機能しているように思えた。というのも、どうしても卒業課題と大学の講義を両立させようとすると、時間的な折り合いがつかなくなり、卒業課題の内容を充実させるのが難しくなる。JKUATでは、4年生の時点で最終課題で製作する機械の設計や基礎的な計算が終了しており、余裕を持って製作に挑むことができるようである。卒業課題に1年という期間を充てることができるのであれば、課題を通じた学びも大きいだろうと思った。
オリエンテーション
このセッションでは、明日以降の研修内容についての説明し、使用するソフトウェアや機材についての紹介を行った。この目的は、参加者から、そもそも今回の講習でどのようなスキルを獲得できるのか、イメージを持ってもらうことである。また、研修で無駄な時間を消費しないためにも、事前に必要なソフトウェアはインストールしておくことを強調した。
3Dプリンタ講習
このセッションでは、iPICに設置された3DプリンタであるUP! miniの使い方について説明を行った。まず、プリントするために必要な3DモデルはSTL(Stereolithography)形式であることを説明した。今回の研修ではロボットアームに使う一部品が3Dプリント部品であり、そのデータをダウンロードできるWebサイトであるThingiverseの紹介も行い、実際にダウンロードするまでの道筋を実演した。
引き続いて、UP! Miniの起動方法と、台座のキャリブレーションの方法について説明した。キャリブレーションとノズルの高さ設定を済ませると、実際に先程ダウンロードした3Dモデルを読み込ませ、3Dプリンタに送信する方法を実演した。実際に3Dプリンタが稼働し始めると、参加者の学生は3Dプリンタの動きを初めて見るようで、一同は興味津津であった。縦長の円柱のような部品であれば、ラフト(第1層目の積層を安定させるために履かせる下駄)をつける必要はないのでは?という鋭い指摘も飛び出したが、UP! に関しては台座に多数の細かな穴が空いており、ラフトをつけないとプリントしたオブジェクトの下表面に凹凸のテクスチャが転写されてしまうため、ラフトは常に付けたほうが良いことを説明した。
レーザーカッターの講習
このセッションでは、レーザーカッター加工用の2Dデータを作成する方法と、その実際の加工方法について説明した。
まず、データの作り方としては、例として3DモデリングソフトウェアであるAutodesk Fusion 360を用いて部品ファイルから図面を生成し、加工方向から見た投影図をDXF形式かPDFで保存することで、レーザーカッターに送信するファイルを作成するためのCorelDrawでインポートできることを実演した。
実際のレーザーカッターへの送信においては、ラスター形式とベクター形式の2つがあり、切断にはベクター形式を用いることを解説した。ここで学生から質問があったため、iPICにあるレーザーカッターの発振管はCO2レーザーであり、金属は切断することができないことを説明した。
また、レーザーカッターのレンズのメンテナンスについては、現在整備不良によってレンズが壊れていることもあり、念を押してレンズクリーニングの重要性を説明した。
学部生研修
参加学生の所属学科は機械工学科(Department of Mechanical Engineering)、メカトロニクス工学科(Department of Mechatronic Engineering)、および電気電子工学科(Department of Electrical and Electronic Engineering)である。なかでもメカトロニクス工学科が半数以上を占め、全体のほとんどが最終課題(Final project)を控えた最終学年(学部5年生)の学生であった。また、17名の参加者のうち女性の参加者は5名であり、もともと工学部での女性の比率が少ないことを踏まえると、ジェンダーバランスも悪くはなかった。
技官研修のアンケート
次回また研修を実施する場合、どのようなことを望むか?
- 最低でも2週間は時間をとって欲しい
- 参加者はソフトウェアを事前にインストールしてくるべき(※だいたい最初の30分くらいの時間がインストールしてこなかった受講者のフォローで無駄になっていた)
- MATLABの講習をしてほしい
- 演習を多くして、1ヶ月間やってほしい
- 特定の機械について、もっと深く掘り下げて教えて欲しい
- CNCのプログラミングが知りたい
- SolidWorksでの機械製図
- CNCについてもっと知りたい
- 演習の時間をもっと増やして欲しい
- 参加者はソフトウェアを事前にインストールしてくるべき
- 講習の修了証明書を発行して欲しい
- もっと期間を長くして欲しい
- Inventor、EAGLE、LPKF milling machineの講習をもっとやりたい
- 自動車の電装、オンボード診断、新型車両のソフトウェア、SolidWorksを学びたい
- PLCを学びたい
- トヨタ、日産、スバルの車両の講習を受けたい
- MATLABを学びたい
- 最低でも1ヶ月は欲しい
- Arduinoの使い方をもっと知りたい
今回の研修で得たスキルをもとに、どのようなプロダクトを開発してみたいか?
- 家のモニタリングシステム(停電検知、水の備蓄量を計測、照明の自動調整、扉の遠隔開閉)。スマートフォンで操作可能にする。
- Arduinoを使ってiPICにLED電光掲示板を設置したい。どの部屋が使用中であるか、その掲示板にリアルタイムで表示したい。
- 地方の人々に使ってもらうために、バナナの葉からガラス板をつくりたい
- ロボット
- ドアの施錠装置
- 流量計と計測装置(例:センサーつきで自動で停止するポンプ)
- システムシミュレーション(例:鋳造部品の故障解析。排気ガスの条件分析。回転部品(ギアドライブ、モータ)のシミュレーション)
- ソーラーポンプシステム
- ロボットアーム
- iPICで展示されているビークルのためのArduinoとステッピングモータで作る回転スタンド
- 前方に車両が近づいたらヘッドライトを自動的に暗くする装置
- 自動車のセンサーとアクチュエータ
- 盗難防止のための自動車のイモビライザーとサムスターター
- 自動車の追跡措置
- 自動車用の排気ガスの汚染量センサ
- 室温に応じたファンの回転数の自動制御
技官研修5日目
C言語によるArduinoプログラミング実習第三
この日の午前は、前日に説明していなかったArduinoによるプログラミングの要素を解説した。具体的には以下の2つである。
- N型FETを用いたDCモータの速度制御
- ステッピングモータの励磁の基礎と角度制御
DCモータにはケニア現地で調達したDVDの駆動用モータを利用し、N型FETをドライバとして使うことで、FETのゲート電圧をArduinoからPWM駆動して回転速度を制御する方法を学んだ。また、ステッピングモータはiPICに在庫として保管されていたULN2003Aドライバつきの小型ステッピングモータを利用し、サードパーティのArduinoライブラリを利用してステッピングモータの角度制御を行う方法を解説した。
MIT App Inventor 2を用いたAndroidプログラミング実習
本実習は当初開催を想定していなかったが、MATLABによる制御実習が割愛されたことと、受講者にアンケートをとったところ希望が多かったため、実習を実施した。
MIT App Inventor 2(以下AI2)は、マサチューセッツ工科大学(MIT)によってメンテナンスされているAndroidアプリケーションの開発環境である。教育用プログラミング言語であるScratchに似たグラフィカルインターフェースを用いて、視覚的にプログラミングできることが特徴である。また、スマートフォンという身近な機器を自由に制御できるという体験は、多くのプログラミング初心者にとって新鮮な体験である。筆者は2016年にガーナの工業高校(Takoradi Technical Institute)で、教員及び学生を対象として、AI2を用いた一週間のプログラミング講座を担当した経験があり、教育におけるその有効性を実感していた。今回ケニアでも同様の試みを行ってみたかった、というのが背景である。
とりわけ参加者の興味を引いたのが、音声発話のアプリケーションである。任意の文章をテキストボックスに入力して実行ボタンを押すと、入力した文章が音声に合成されてスマートフォンから聞こえてくる、というものである。それだけでも結構面白がってもらえたのだが、たまたま参加者の一人がスワヒリ語を入力してもきちんと発音される事に気づいた。そうなると今度は自分の部族の言葉(Local language)を話させたいけど可能か?という質問が筆者のもとに来た。もちろん筆者はケニアの部族語を入力して発話させた経験がない(そもそも発音が正しいのかどうか分からない)ので、やってみればわかるよと伝えた。その参加者が早速試すと、周囲が爆笑に包まれたのであった。どうやらアクセントが微妙に違うが、割といい感じに発音されているらしい。筆者はケニアの言葉に詳しくないが、おそらくローマ字表記にかなり忠実に発音される言語なのであろう。筆者が以前滞在していたガーナの西部地方におけるファンティ語では、独自表記される子音の発音が多く、このようにうまく発音されるわけではないだろうと推測される。ケニアには42の異なる部族があり、政治への影響もあると聞く。自分の部族の言葉に自信のアイデンティティを感じている者も多いのだろうと感じた瞬間であった。
技官研修4日目
本日の研修では、マイクロコントローラを制御するためのプログラミングを学んだ。Arduinoと呼ばれる8ビットのマイクロコントローラを利用し、プログラムの開発環境としてArduino IDEを用いることで、機械設計によく使われる制御要素のプログラミング技術を習得することを目的とした。デジタル電子回路を制御するためには必須の技術であり、参加者のモチベーションも高かった。
C言語によるArduinoプログラミング実習第一
この講座では、Arduinoに関する簡単な説明と、プログラミングの基礎を説明した。ArduinoはC言語をベースに独自の関数を追加して拡張したArduino言語を用いて開発を行う。講習の際に心がけたのは、トップダウンにプログラミング言語の文法の解説を行うことはせず、あくまでも「それによって何ができるか」というトピックにもとづいて、その方法を解説するということである。本講習では、以下のトピックに基づいて実習を行った。
- デジタル入出力とLEDのOn/Off制御
- PWM(Pulse Width Modulation)とLEDの電流制御
- UARTを用いたPC-Arduino間のシリアル通信
- for文による繰り返し制御
プログラムのソースコードはなるべく簡潔にし、原理はホワイトボードを用いて分かりやすく解説することを心がけた。なかにはプログラミングのセンスを感じる質問を投げかけてきた参加者もおり、JKUATにおけるプログラミング教育のポテンシャルを感じる場面もあった。
参加者の声としてC/C++プログラミング言語は学校で学んだが、実際に手を動かして実習を行ったことはなかったので、自信につながったという嬉しい声も聞かれた。
C言語によるArduinoプログラミング実習第二
この日の午後は、引き続きArduinoのプログラミング実習を行った。内容は以下である。
- if文による条件分岐
- A/D変換による可変抵抗器の両端電圧の読み取り
- PWMによるサーボモータの角度制御
- 実習:可変抵抗器を用いたサーボモータの角度指令制御
A/D変換値とPWM出力のスケール変換を行うmap関数というArduinoの組み込み関数の理解が肝であったが、おおむね理解してもらえたように思う。また、サーボモータというアクチュエータの制御は、ロボット設計に向けた第一歩であり、興味を持ってもらえたように感じた。