学部生研修4日目

ロボットアームの組立とプログラミング

このセッションでは前日に引き続き、ロボットアームの組立を行った。前日にグルーガンで接着した箇所を剥がしたいのだが、半田ごては使えないか、という質問を受け、実際に試したところ、アクリル板にダメージを与えずに綺麗にはがすことができた。アクリル板とグルーガンは、プロトタイピングにおいて非常に良い組合せであることを知れたのは、筆者にとっても新たな学びであった。というのも、普段筆者はアクリル板の接着には専用の接着剤を用いているため、グルーガンを試した経験はなかったのである。アクリル接着材は剥がす際にアクリル板にダメージを与えることもあるので、熱することで流動性を再度高められるグルーガンには利点がある。そもそもケニアではアクリル接着剤が手に入らず、グルーガンは容易に調達できるという背景があったのだが、これも現地の状況に応じて工夫することで見つかった新たな発見であると言ってよいだろう。

ロボットアーム完成の記念撮影(チーム名:Babaroa)

組立が終わった後は、実際にプログラミングを開始した。なかには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. 2月 2018
Categories: JKUAT/PAUSTI | Tags: , | Leave a comment

Leave a Reply

Required fields are marked *


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください