メカトロ・システム機器の進化には分散処理が欠かせない ――ロボットに学ぶ分散処理の基本概念と課題
● 新しいデバイスの恩恵を受けて小型化,低消費電力化
これに対して,ロボットの分散制御を支えるハードウェア技術について,十数年ほど前は,トランスピュータやVMEバス,DSP(ディジタル信号処理プロセッサ),共有メモリ技術が主流でしたが,近年では,FPGAやFPAA(field programmable analog array),マルチマスタ方式の共有メモリ通信技術,そして,動的再構成可能なデバイス(例えば,DAPDNA)が注目されつつあります.よってICの集積化技術の進展に促され,ロボットの制御装置が高機能を保ちつつも,いっそうの小型化が可能になってきています.ただし,実システムに採用するに際しては,消費エネルギーや実装コストの観点からの評価も忘れてはなりません.
ロボットのアーキテクチャのレベルの分散処理については,従来のセンサ入力→知覚処理→環境モデリング→動作計画→作業実行→駆動制御→モータ制御→アクチュエータ動作といった直列的なタスク処理方式に対する反省から,タスクの優先度を考慮に入れた並列的な分割処理方式,例えば,サブサンプション(subsumption)方式が20年前に提案されました.
直列的なタスク処理では,どれか一つの処理が失敗した場合,直ちに全システムが動作不能な状態に陥ってしまいます.また,システムの機能拡張を試みるときは,全システムの改造が必要となります.さらに,ロボットの作業目的の多様性や多種多様なセンサ入力への対応が困難です.
複雑な環境で自律的に移動するロボットを例に説明します.まず,ロボットの自律移動を,障害物回避,うろつき,探索,環境地図作成,外部物体運動の推定などのサブタスクに分割します.センサ入力を使ってこれらのすべてのサブタスクを同時に処理し,優先度に応じた重み付けを行います.そして,その結果をもとに車輪を回転させるようにモータ制御を行うことで,ロボットの柔軟な環境適応移動を実現しています(図4).