プログラミングの基本的な考え方
●コンピュータでロボットを制御する
仮に、ロボットとは,外部からの情報をセンサで「感じ」,その情報から次の行動を「判断し」,モータなどを「動かす」もの定義します。
ロボットの中でコンピュータは,センサからデータを取り込む,データを判断する,モータなどに信号を送るなど,一連の流れをコントロールしています。
コンピュータにこのコントロールを行わせる命令をプログラム,またプログラムをつくることをプログラミングといいます。
プログラムはコンピュータ自身でつくることはできません。人間があらかじめプログラムをつくって,コンピュータに期待通りの動きをさせているのです。プログラムが正しくなければどんなに精巧なロボットでも動かないどころか壊れてしまうこともあります。
●プログラムの基本的な機能
プログラムを記述する言葉・方法には様々なものがあります。2進数の羅列である機械語(コンピュータに搭載されたICごとに異なります),人間にわかりやすい言葉や記号を用いた言語(C,BASICなど),命令やプログラムの流れをブロックや線で表したグラフィック表示のもの(レゴのMINDSTORM,LabVIEWなど),数え上げたらきりがありません。しかしながら,どの言語にも共通の考え方があります。
ためしに,健康診断結果から行動をきめるプログラムを日本語で書いてみましょう。
【健康診断に基づく行動プログラム】
1. 肝機能・血圧・中性脂肪・胸囲を表1の順に測定し記録する
2. 結果が0000ならば(すべての結果が正常範囲ならば),何をしてもよい
3. 結果の4桁目が1ならば(肝機能が正常範囲外)ならば,お酒を禁止する
4. 結果の3桁目が1ならば(血圧が正常範囲外)であれば,減塩食を食べる
5. 結果の2桁目が1ならば(中性脂肪が正常範囲外)であれば,野菜だけを食べる
6. 結果の1桁目が1ならば(胴囲が正常範囲外)であれば,ジムへ行って乗馬マシンに乗る
7. 1から6までを毎日繰り返す
以上の7行はあまりプログラムっぽくないと思われるかもしれませんが,日本語で書いたという以外は典型的なプログラムです。
1行目は,入力データを読み取りそれを記憶します。
2行目から6行目までは,入力データによって動作を決める条件文や条件判断と呼ばれる部分です。
7行目は繰り返し文です。
これらの文は表現の違いはあれ,すべてのプログラム言語に現れるものです。
==================================================================
※永田照三 戎俊男 太田信二郎 江藤昭弘 水野隆 石野健英 藤間信久 東直人 井上修次『作って学ぶ ロボット入門講座』より