【第1回実験報告】アリ ―コミュニケーションのモデル生物―
アリ=働き者というイメージを持っていますが、実際『働く』って何をしてるんだろう?アリ自身の為?女王アリの為?何のために働いているのでしょうか??
LabVIEW解析の目的
LabVIEWとは、主にアプリケーションソフトなどを作るときに使用されるプログラミングソフトです。プログラミングといえば、C言語やJAVAなど、文字と数式を組み込んでできた文書というイメージがあると思いますが、LabVIEWでは右の図のようなアイコンを組み合わせ、線でつなげることで、まるで回路の設計図を描いていくかのように2次元でプログラムを組むことができます。一見絵を組み合わせているかのように見えますが、実際ソフトの裏側ではプログラミング言語に書き換えてくれるという優れものです。
解析の目的は、アリ数匹を新しい空間に移した場合、アリ同士がどのように捜索し、コミュニケーションをとっているかを調べるのが目的です。コミュニケーションをとる場合、アリはお互いの触角を合わせることで情報を交換し合います。つまり、アリ同士の距離が0ならば、コミュニケーションをとっているということになります。また、アリが周辺を捜索しているかを知るためには、アリの動くスピードを検出すれば、0なら静止しているとわかります。よって、LabVIEWを使って解析する内容は、
・ アリ同士の距離の検出
・ アリの動くスピードを検出
とプログラムを作るいうことになります。以上の抽出をする為には、アリの探索映像を取り、アリを一つの点としてみて画像処理をし、点の奇跡や移動情報を抽出することで、どのように探索をしているか、コミュニケーションをとっているかなどがわかります。
実験装置
アリにはケースの縁を歩く性質があるので、長方形のケースでアリの歩行を観察すると、境界ばかりを歩く様子が主にみられる。そこで30cmのアクリルの半球を用意した。アリは重力を感じるので、半球の境界にアリを放ち、上からビデオで録画する。 ビデオにとった画像を解析し、アリの軌跡の抽出を行う。 アリ同士の距離の時間変化を追う。
実験結果と考察
まず手始めに、今回はじめて使うLabVIEWに慣れる事からはじめてみました。 画像処理をしていく過程で、映像のワンカットを何回も繰り返して軌跡を追うということから、「繰り返し」について、まずはプログラムを作ってみました。
上の図が、LabVIEWで作った繰り返しのプログラム構造になります。あまりプログラムをやったことにはない人には、ぱっと見どうなっているかさっぱりだと思いますが、LabVIEWはC言語を元に作っているので、C言語をやったことある人には、なんとなくわかると思います。
今回繰り返しに使ったのは「Forループ」という構造です。Forループとは、Forで囲まれた範囲の内容を変数N回繰り返すという意味で、変数iが0から始まり繰り返すたびに値が一つずつ増やし、i=Nになった時、Forループが終わるという仕組みになっています。
下は、各パーツの説明になります。
という流れで、構成されています。このプログラムを実行すると、 右の図の様になります。
今後の予定
C言語で書いた場合、
int i, N=50, a;
for(i=0;i < N;i++){
波形チャートにaの値を表示;
a=a+5;
}
となり、何度実行しても、同じ図が出てくると思っていたのですが、実際2回実行を繰り返すと、右の図のような結果になりました。
なので、繰り返さないように改良し、上で書いたC言語と同じような結果にするように直したいです。
次回はアリの歩行のシミュレーションをLabviewではじめます。画像処理への第一歩として、画像の取り込みと画像処理を行います。