-本ゼミは,以下の特徴をもったプログラミング演習である. --Linux組み込みボード・armadillo300を使用 --デバイス制御にシリアル通信を使用 -一般にロボットを製作し期待通りに動かす場合,搭載されたセンサ・アクチュエータ間の情報を適切に処理しなければならない.その情報処理は大別すると以下のようになる. --センサからの情報取得 --取得したセンサ情報に対してアクチュエータへの適切な指令を計算 --指令をもとにしたアクチュエータの動作 -この情報処理を行うデバイスとしてマイコンから大型コンピュータまで様々な種類のものがある.一般にマイコンなどI/OやAD/DAなどの周辺回路を含んだ小型情報処理デバイスは省電力でありロボット内部への搭載が可能なサイズである.しかし,情報の処理能力自体が低く,処理速度・メモリ容量の点で制限がある.一方,パソコンなどに代表される汎用コンピュータは情報処理能力自体は高いが,サイズが大きく,消費電力などの面でも自律型ロボットへの搭載は困難である.本ゼミでは,Linux組み込みボード・armadillo300を使用することで,自律型ロボットへの搭載が可能な要求を満たしながら高い情報処理能力を実現する. -またセンサ・アクチュエータの制御の方法は,直接方式とコマンド方式がある.直接方式ではセンサ・アクチュエータに対し電気的な信号レベルで制御を行う.そのため細やかな制御が可能である一方,情報処理デバイスはセンサ・アクチュエータを扱うために常時制御を行う必要がある.一方でコマンド方式はセンサ・アクチュエータに対し操作をコマンドで行う.センサ・アクチュエータにはマイコン等が搭載されており,そのマイコンがコマンドを解釈し細やかな制御を行う.この利点は,ロボット全体をコントロールする情報デバイスは,各センサ・アクチュエータにコマンドを送るだけでよいので常時制御を行う必要はなく,情報処理能力に余裕を持たせることができる.ただし,常時制御を行うような細やかなコントロールにはあまり向いていない.本ゼミでは,コマンド方式によるセンサ・アクチュエータの制御を行う.その方法としてシリアル通信によるコマンド送信を行う.シリアル通信に関するプログラミングは規格化されておりデバイスに非依存である.そのため,一度シリアル通信のプログラミングを修得すると新しいデバイスも簡単に扱うことが可能である.