Monthly Archives for February 2018

学部生研修5日目

ロボットアームのプログラミング(続き) 今日も朝早くから来て、前日からの課題であるロボットアームのプログラミングに取り組んでいるものがみられた。  Simulinkを用いたArduinoのプログラミング このセッションでは、前日時間が足りず取り扱えなかった、SimulinkによるArduinoのプログラミングについて学習した。SimulinkはArduino Support Packageを追加することで、プログラミング(Arduino ROTH: Run on the hardware)およびシミュレーション(External mode simulation)が実行可能である。制御器設計において重宝する機能であり、是非説明しておきたかったため、最終日のタイミングで解説した。 実習で用いた回路はポテンショメータの取得電圧を指令値とするDCモータのフィードバック制御回路である。2つのDCモータの回転軸を連結し、片方はタコメータとして使うことで、タコメータの両端の端子電圧を回転速度に対応付け、フィードバック制御を行う。以下にSimulink上のブロック線図を示す。 最終日は十分に実習時間がとれなかったため、どのグループもモータは回せたものの、タコメータからの電圧が取得できずにフィードバック制御を行うことができなかったグループもあった。しかしながら、Simulink上のシミュレーションを実世界のアプリケーションで動かすためのワークフローは学んでもらえたことと思う。 ロボットアーム選手権 この研修の総まとめとして、3チームの中の最優秀チームを決定する選手権を行った。以下のルールによってポイントを加点し、最も得点の多いチームが優勝である。 得点を与えるルール(6点満点) 1. 初期状態から旋回する(1点) 2. アームを曲げて、対象物体まで接近する(1点) 3. 対称物体を把持する(1点) 4. アームをもとに戻す(1点) 5. 逆方向に旋回する(1点) 6. 対象物体を解放し、設置する(1点) 試験に先駆けて、各チームは制御の細かい修正に取り組んだ。ロボットアームのプログラムはチームによって様々であった。以下に一例を示す。 また、4人で同時にロボットアームの制御を行うチームもいた。見た目は少し笑ってしまうような光景だったが、実は実際的な利点もあると思った。他のチームはシリアル通信で制御コマンドを送ったときに、Arduinoの受信側に遅延時間を入れていたので、複数の軸を応答させようとすると、どうしても遅延が発生してしまう。これに対して多数端末による制御を用いれば、遅延時間を考えずに複数軸を動かせるというメリットがある。また、制御するホストコンピュータを1台にしてしまうと、その端末が駆動するArduinoに信号雑音が乗ったときに、全てのサーボが影響を受けてしまう問題もある。彼らは複数の端末から操作することでノイズによる影響を分散させ、せっかく掴んだ物体を離してしまうとか、意図しない急旋回をもたらしてしまう可能性を排除するための、冗長化を構成していたともいえるだろう。 選手権の結果を以下に示す。 どのチームも全てのタスクを完了したので総得点は並んだのだが、チームによってはタスクを最初から最後まで連続してこなすのではなく、断片的にタスクを遂行したものもあった。連続してタスクをこなした場合、追加点を与えることになり、最終的に全てのタスクを一気通貫して完遂したチームが優勝となった。 以下の優勝チームの試行動画をみると、タスクを達成したときの学生の歓喜、熱気が伝わってくることと思う(リンク: https://youtu.be/vUtjoPJynyE )

16. February 2018
Categories: JKUAT/PAUSTI | Tags: , | Leave a comment

学部生研修4日目

ロボットアームの組立とプログラミング このセッションでは前日に引き続き、ロボットアームの組立を行った。前日にグルーガンで接着した箇所を剥がしたいのだが、半田ごては使えないか、という質問を受け、実際に試したところ、アクリル板にダメージを与えずに綺麗にはがすことができた。アクリル板とグルーガンは、プロトタイピングにおいて非常に良い組合せであることを知れたのは、筆者にとっても新たな学びであった。というのも、普段筆者はアクリル板の接着には専用の接着剤を用いているため、グルーガンを試した経験はなかったのである。アクリル接着材は剥がす際にアクリル板にダメージを与えることもあるので、熱することで流動性を再度高められるグルーガンには利点がある。そもそもケニアではアクリル接着剤が手に入らず、グルーガンは容易に調達できるという背景があったのだが、これも現地の状況に応じて工夫することで見つかった新たな発見であると言ってよいだろう。 組立が終わった後は、実際にプログラミングを開始した。なかにはC++のクラスをつかってコーディングを試みるものもおり(電気電子工学科の学生)、結構プログラミングが得意な学生もいるのだな、と感じた。 MATLAB実習 本セッションでは、数値計算や工学一般において様々な活用が可能なプログラミング環境であるMATLABについての初歩的な使い方の解説を行った。 まず、講習に先駆けて、学生にはMATLABの30日評価版のダウンロードとインストールを要請していた。これについて補足すると、MATLABのライセンスはJKUATは保有していないようである。したがって、この研修を受けた後に学生がMATLABを使えなくなるとあまり意味が無いため、以下に示すいくつかの代替オプションを提示した。 代替ソフトウェア 利点 欠点 GNU Octave MATLABとコマンド互換 (ほぼ同じコマンドが使える) Simulinkに相当する機能がない Scilab & Xcos Simulinkと同等のXcosというソフトウェアが付属する。XcosはさらにArduinoとの連携も可能である。 MATLABとコマンド名が異なるため、コマンドを覚え直さないといけない Python ipython, numpy, matplotlib等を組み合わせることで、Matlab同様の数値計算・グラフ描画が可能。また、python-controlパッケージを入れることで制御シミュレーションも可能。拡張性、汎用性は最も高い。 Simulinkに相当する機能がない OpenModelica Simulinkのようなモデリングが可能 筆者が使ったことがないため、詳しく知らない 講習ではMATLABがデータを扱う際の基本的な構造であるベクトルと行列を説明し、転置やインデックスでのデータ要素へのアクセス方法を説明した。そして、線形連立方程式の解を、係数行列をつくって行列操作で求める方法を説明した。この際に、その都度逆行列を求めるのではなく、ガウスの消去法を使うことで高速に解を計算できることを説明した。  また、伝達関数の定義方法と、ステップ応答やインパルス応答、周波数応答(ボード線図)などの基本的な制御シミュレーションの方法についてもここで解説した。 Simulink実習 Simulinkの使い方は、今回とりわけ教えたかった項目の一つである。制御に興味を持ったものの、どうやってブロック線図を計算機シミューレーションに落とすのか、そしてその先にマイコンにどのように実装すれば良いのか、というのは初心者が最初に悩む点である。たとえプログラミング能力が卓越していても、実際にブロック線図とマイコン用のCの実装を行ったり来たりするのは面倒であるのだが、Simulinkを使えば、シミュレーションから実機での実行までを、単一のブロック線図のみでシームレスに扱うことができるのである。このセッションでは、Simulinkの簡単な使い方と、PID制御のシミュレーションまでを取り扱うこととし、実習を行った。 ロボットアームのプログラミング(続き)  MATLAB/Simulinkの講習が終わった後、この日も結局18時過ぎまで、参加者はロボットアームのプログラミングに励むことになった。

15. February 2018
Categories: JKUAT/PAUSTI | Tags: , | Leave a comment

学部生研修3日目

Arduinoプログラミング実習  本日の研修では、マイクロコントローラを制御するためのプログラミングを学んだ。Arduinoと呼ばれる8ビットのマイクロコントローラを利用し、プログラムの開発環境としてArduino IDEを用いることで、機械設計によく使われる制御要素のプログラミング技術を習得することを目的とした。 ほとんどの学生が一応Arduinoを触った経験はあるようで、難なく進めることができた。余談であるが、iPICにあるArduinoボードはArduino UNO(5台)、Arduino Mega 2560(5台程度), Arduino Mega ADK(7台程度)である。ボードはケニア現地で調達したと見られ、どれも純正品ではなく、中国製のコピー品である。Arduino Mega 2560と包装された箱のうち、半数以上がArduino Mega ADKであったことには閉口した(プロセッサ自体は両者とも同じものを使ってはいるが)。経験的に多くの場合コピー品でも問題なく使えるが、3台ほどシリアル通信できないボードが存在した。そのうち1台のArduino Mega2560に対してAVR ISP mkIIプログラマーを用いてATmega16u2をシリアルUSBブリッジ化するファームウェアの書き込みを行ったが、そもそもSPI通信ができないようで、チップ自体の破損か基板上に配線不良があると思われる。 このセッションではPWMを用いたLEDの連続的な光量制御、A/D変換によるポテンショメータ端子電圧の読み取り、FETを用いたDCモータの速度制御、ポテンショメータを用いたサーボモータの角度制御などを学習した。 ロボットアームの製作  このセッションからは、いよいよロボットアームを製作することになった。ロボットアームの設計はThingiverseで公開されている以下をベースとして用いた。  このプロジェクトを選定した理由は、構造がシンプルであることと、レーザーカッター用のDXF/PDFがすぐに加工可能な形で用意されていたことである。また、こちらで調達できる高トルクなサーボモータHD-1501MGにフィットする寸法であったこともある。メンテナンス不良によりiPICのレーザーカッターが不調だったため、もとFabLab Nairobiのファブマスター、いまはGearboxというメイカースペースを運営しているKamauを訪ね、事前にアクリル板のレーザー加工を行い、パーツは準備しておいた。  学生たちが早速ロボットアームの製作にとりかかると、設計の不備と材料の不足に気づき始めた。ネジの長さが足りない、穴の大きさが小さくてネジが入らない、スペースが小さく部品の干渉が起こる、などである。 筆者は本プロジェクトを実際に自分で組み立てたことがないため、このような問題は出るだろうとは予め想定はしていたものの、解決策の提案は参加者に任せようと思っていた。どうするのだろうかと観察していたところ、一人の学生がやってきて、穴が小さすぎるのだが大きくすることはできるか?という質問を投げかけてきた。Mr. Omondiと話すと、隣の工作室にあるボール盤で穴の追加工をやってみようということになった。所望の径のドリルビットがiPICになかったため、工学部ワークショップから取り寄せて使うことができた。 また、径の長いネジに関しても工学部ワークショップからの調達を図ったが、微妙に長さが足りなかったため、近隣のネジ屋に頼んで手に入れることができた。JKUATの近くにネジを購入できる場所がある、と知れたのは今後のためになる収穫であった。  本ロボットアームの設計は、アクリル板に空けた穴にボルト・ナットを通して組むものであったが、製作を通して、ボルトの頭が干渉する箇所がある、ピボット軸がない、などの問題が出てきた。このため、ホットボンド(グルーガン)をアクリル板の接着に使えないか、という議論になり試したところ、かなりの強度で接着することができたため、以後多用することとなった。  この日は16時が研修の終了時刻であったが、学生が延長を希望したため、結局18時過ぎまで作業することになった。遅くまで残っても帰ろうとする参加者はおらず、一生懸命取り組んでいたのが印象的であった。

14. February 2018
Categories: JKUAT/PAUSTI | Tags: , | Leave a comment

学部生研修2日目

Autodesk EAGLEを用いた電子回路の設計実習  本実習では、Autodesk EAGLE(以下EAGLE)という電子回路CADを用いて、電子回路(PCB)の設計を行った以下に、演習に用いるために用意した基板の設計を示す。 さすがにProteusでの設計経験があるようで、回路図は難なく仕上げたものの、配線には苦戦している学生が多かった。特に女性の参加者に多かったようが、配線に進む前に部品の最適な配置を延々と試行錯誤している学生がおり、慎重さが垣間見られた。 また学生から、輪郭線(メカニカルレイヤー)を円形あるいは任意形状にしたいが可能か、という質問が出た。自分は基板形状をあまり意識したことがなかったので、やり方を調べる方法があったが、単純にDimensionの第20レイヤーに任意の線画を描画すればよいことが分かった。今思い返せば、なぜ基板形状を変更したいのか、その理由を聞いておけばよかった ほぼ全ての学生が配線を終えたところで、学生にクイズをだした。皆配線には苦労したと思う。では筆者がこの配線をやろうとすると、実際どれくらいの時間がかかるか?という質問である。一番短い学生で15分と答える者もいたが、だいたいの学生は1時間くらいと答えた。では答えを発表しますと言って、オートルータ(自動配線機能)を使って配線し、正解は5秒でしたと伝えると、教室中が「やられた!」という歓声に包まれた。[ LPKF S63基板加工機を用いた電子回路基板の加工実習 本実習ではLPKF社のS63基板加工機を用いて、実際に設計した基板の銅板への切削加工を行った。筆者は日本ではMITS社の基板加工機を愛用しており、LPKF社の加工機は初めてであったが、メカトロニクス学科のテクノロジストの助けもあって、操作方法をすぐに習得することができた。LPKFに搭載されていて、MITSに無い機能として、加工ツールのZ方向の自動キャリブレーション機能がある。大変便利な機能であり、製作者に優しい製品設計であると感動した。 S63基板加工機ではCircuit Proというソフトウェアを利用して、通常の基板加工機と同様にガーバデータ(RS-274X形式)を読み込み、ツールパスを生成し、加工機へデータを送信する。今回は簡単のために片面基板を設計したが、カメラを利用した位置合わせによって容易に両面基板を製作することも可能である。 参加者が一番知りたかったのは、複数の加工情報をどのように区別して加工機に送信するのか、という点であった。EAGLEではCAM ProcessorとLPKF S63用の定義ファイルを用いて、はんだ面データ(.sol拡張子)、Excellon形式ドリルデータ(.drd拡張子)、輪郭線情報(.outline拡張子)を吐き出すことができる。これらの各々をCircuit Proで読み込むことで、自動ツール交換装置(ATC)に対応したツールパスを生成できるということを、参加者は学んだ。  実際に基板切削を行ったところ、なぜか配線層の切削が浅い仕上がりとなり、綺麗に配線層が切り離されていなかった。Circuit Proのデフォルト設定では銅箔の厚みが18μmとなっているため、35μmに変更する必要があるが、この変更も問題なく反映されていたので、別の原因と考えられる。 失敗の原因を分析していると、Mr. Omondiが基板加工機ツール番号1番のマガジンが歪んでいることに気づいた。想定を超える過大な力(オーバーロード)がかかったとみられる。Circuit Proが生成したツールパスを確認すると、ツール番号1番は0.1mmのマイクロカッターが割当てられており、これは配線層(Bottom layer)の切削に関連する部分である(どのパスなのかは、パスが細かすぎるためか、Circuit Pro上のハイライトでは識別できなかった)。実際に配線層を切削するのはツール番号2番の0.2mmユニバーサルカッターである。Mr. Omondiの記憶によれば、ツール番号2番は切削時に使われていなかったという。この状況から考えられるのは、ツール1番を置くときにオーバーロードが発生し、異常を検知した基板加工機がツール番号2番の装填を中断し、外形線の加工に進んだというものである。それをもとに考えた結果、ツールパス生成の画面上で、0.1mmマイクロカッターの切削パスを削除してしまえば、この問題は発生せず、したがって綺麗に切削できるはずであるという仮説は得たものの、時間の関係から実際に試してみることはしなかった。

14. February 2018
Categories: JKUAT/PAUSTI | Tags: , | Leave a comment

学部生研修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! に関しては台座に多数の細かな穴が空いており、ラフトをつけないとプリントしたオブジェクトの下表面に凹凸のテクスチャが転写されてしまうため、ラフトは常に付けたほうが良いことを説明した。 レーザーカッターの講習 … Continue reading

13. February 2018
Categories: JKUAT/PAUSTI | Tags: , | Leave a comment

学部生研修

参加学生の所属学科は機械工学科(Department of Mechanical Engineering)、メカトロニクス工学科(Department of Mechatronic Engineering)、および電気電子工学科(Department of Electrical and Electronic Engineering)である。なかでもメカトロニクス工学科が半数以上を占め、全体のほとんどが最終課題(Final project)を控えた最終学年(学部5年生)の学生であった。また、17名の参加者のうち女性の参加者は5名であり、もともと工学部での女性の比率が少ないことを踏まえると、ジェンダーバランスも悪くはなかった。

12. February 2018
Categories: JKUAT/PAUSTI | Tags: , | Leave a comment

技官研修のアンケート

次回また研修を実施する場合、どのようなことを望むか? 最低でも2週間は時間をとって欲しい 参加者はソフトウェアを事前にインストールしてくるべき(※だいたい最初の30分くらいの時間がインストールしてこなかった受講者のフォローで無駄になっていた) MATLABの講習をしてほしい 演習を多くして、1ヶ月間やってほしい 特定の機械について、もっと深く掘り下げて教えて欲しい CNCのプログラミングが知りたい SolidWorksでの機械製図 CNCについてもっと知りたい 演習の時間をもっと増やして欲しい 参加者はソフトウェアを事前にインストールしてくるべき 講習の修了証明書を発行して欲しい もっと期間を長くして欲しい Inventor、EAGLE、LPKF milling machineの講習をもっとやりたい 自動車の電装、オンボード診断、新型車両のソフトウェア、SolidWorksを学びたい PLCを学びたい トヨタ、日産、スバルの車両の講習を受けたい MATLABを学びたい 最低でも1ヶ月は欲しい Arduinoの使い方をもっと知りたい 今回の研修で得たスキルをもとに、どのようなプロダクトを開発してみたいか? 家のモニタリングシステム(停電検知、水の備蓄量を計測、照明の自動調整、扉の遠隔開閉)。スマートフォンで操作可能にする。 Arduinoを使ってiPICにLED電光掲示板を設置したい。どの部屋が使用中であるか、その掲示板にリアルタイムで表示したい。 地方の人々に使ってもらうために、バナナの葉からガラス板をつくりたい ロボット ドアの施錠装置 流量計と計測装置(例:センサーつきで自動で停止するポンプ) システムシミュレーション(例:鋳造部品の故障解析。排気ガスの条件分析。回転部品(ギアドライブ、モータ)のシミュレーション) ソーラーポンプシステム ロボットアーム iPICで展示されているビークルのためのArduinoとステッピングモータで作る回転スタンド 前方に車両が近づいたらヘッドライトを自動的に暗くする装置 自動車のセンサーとアクチュエータ 盗難防止のための自動車のイモビライザーとサムスターター 自動車の追跡措置 自動車用の排気ガスの汚染量センサ 室温に応じたファンの回転数の自動制御

10. February 2018
Categories: JKUAT/PAUSTI | Tags: , | Leave a comment

技官研修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の異なる部族があり、政治への影響もあると聞く。自分の部族の言葉に自信のアイデンティティを感じている者も多いのだろうと感じた瞬間であった。

09. February 2018
Categories: JKUAT/PAUSTI | Tags: , | Leave a comment

技官研修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の組み込み関数の理解が肝であったが、おおむね理解してもらえたように思う。また、サーボモータというアクチュエータの制御は、ロボット設計に向けた第一歩であり、興味を持ってもらえたように感じた。

08. February 2018
Categories: JKUAT/PAUSTI | Tags: , | Leave a comment

技官研修3日目

本実習では、Autodesk Inventorを用いて2種類のシミュレーションを行う方法を解説し、実習を行った。この実習科目についても、iPICスタッフから是非研修を行ってほしいという要請があった。 iPICスタッフからの聞き取り調査によれば、彼らが用いたシミュレーションという言葉は、3DCAD上で設計したモデルのアニメーション動作のことを意味していた。これを学びたい背景は、製品設計において、仕様や動作を説明する際に活用したいということであった。したがって、Autodesk Inventorという機械設計で用いる3Dモデリングソフトウェアを利用し、シミュレーションの実習を行った。 Autodesk Inventorを選定した理由は以下である。 教育版の無償ライセンスが存在する アセンブリ拘束条件に対するアニメーションが作成可能である 構造解析(FEA)が可能である 研修に先んじて調査したところ、JKUATでは機械科にSolidWorksのライセンスが導入されているとのことであった。しかしiPICにはSolidWorksのライセンスは導入されていなかったため、教育用無償版ライセンスが利用可能なAutodesk Inventorを研修に採用した。また、今回の研修に必要な機能である、アセンブリ拘束条件に対するアニメーション機能と、構造シミュレーション機能(FEA)が可能である点も重要であった。 補足として、同様の条件を満たすAutodesk Fusion360の利用も検討したが、参加者の多くはAutodesk Inventorの経験は多少あるものの、Autodesk Fusion 360は利用したことが無いという者が大多数だったため、今回はAutodesk Inventorを利用することにした。 Autodesk Inventorを用いた運動学シミュレーション実習  本実習では、平歯車の噛合動作のアニメーションの作成を行った。本テーマを選定した理由は、機械設計で最も頻出する、回転拘束に対してアニメーションを設定するという項目を解説したかったためである。なぜ回転拘束に対するアニメーションが重要であるかというと、機械設計ではモータやエンジンなどの回転駆動軸が、クランクシャフトやリンク機構を介して機械の全体動作を生み出すことが多いためである。 平歯車の設計はAutodesk Inventorに内蔵されるSpur Gears Component Generatorを利用して行った。そして大小2つの平歯車に対して、拘束とギア比を適切に設定することで、歯車の回転シミュレーションが行えることを確認した。また、最終的に作成したアニメーションを動画ファイル(.wmv形式)に書き出す方法も学んだ。  Autodesk Inventorを用いた力学シミュレーション実習  Autodesk Inventorを用いて行うことのできるシミュレーションには運動学シミュレーションと、力学シミュレーション(構造解析)がある。iPICスタッフからの要望は前者のみであったが、後者も機械設計では重要なスキルであり、念の為に受講者に受講希望があるか多数決を取ったところ、ほぼ全員が(非常に前のめりな様子で)学習したいと挙手した。このため、当初のスケジュールに追加して研修を行った。 実際に行ったのは、有限要素法(FEM)による片持梁の応力・変位解析である。まず簡単に片持梁の材料力学理論を解説すると(片方を固定端、もう一方を自由端、自由端の末端に集中荷重)、参加者の多くが、理論は学んだことがある、という反応を示した。  実習ではまずAutodesk Inventorを起動し、片持梁のモデリングを行った。その後Stress Analysisメニューから新規Studyを生成し、境界条件設定、荷重設定とメッシュ生成を行い、有限要素計算を実行した。von Mises応力および変位のヒートマップ表示を確認し、さらにアニメーションの生成方法を学んだ。そして運動学シミュレーションと同様に、動画の書き出し方法を習得した。  筆者の印象であるが、FEMによる応力解析には参加者が特に興味を示していた。 電子回路基板への電子部品の実装実習(はんだ付け) この日の午後はLPKF S63基板加工機を用いて作成した、DCモータの速度制御基板に対して、電子部品を実装するはんだ付けの実習を行った。筆者には驚きであったが、参加者の多くがはんだ付けは初めてであるようだった[。 実装した部品は、整流用ダイオード、積層セラミックコンデンサ、電気抵抗、およびFETである。事前に各部品に対する注意点の説明も行った(ダイオードの極性、電気抵抗のカラーコード等)。また、はんだ付けの代表的な不良パターンについても解説した(はんだ過少による接触不良、いもはんだ、ブリッジ)。なかでも、いもはんだの説明の際に、日本ではこの接触不良をその形状からPotato solderと呼ぶと解説したところ、受講者からは大きな笑いが起こった。はんだ付けの実習の際には、そっちのはTomato … Continue reading

07. February 2018
Categories: JKUAT/PAUSTI | Tags: , | Leave a comment

← Older posts