半年ぐらい前のことだがロボット掃除機を買った。 Roborocks のやや前の型のやつ。

以前は Roomba を使ってたことがあるのだけど、引っ越しをしてからあんまり使わなくなって(床拭きの Braava ばっかり使うようになった)、それからまた引っ越したので改めてロボット掃除機を買った次第。以前の Roomba も型落ちのをタダでもらったものなので、相当なアップグレードである。

というわけで久しぶりにアップグレードされたモダンなロボット掃除機を使っていると、全然違ってかなりいい。壁とかにぶつかったりせずにスムーズに無駄なく掃除するし、部屋も認識して覚えている。自分がどの部屋にいるかもすぐ認識して動作する。携帯電話とかからも操作できる。便利だし隙がなく、よくできている。

よくできていて便利で快適なんだけど、ここに一抹の寂しさを感じてしまう。というのも、自分は subsumption architecture に思い入れがあるから。

subsumption architecture というのは90年代に流行った知能ロボティクスのアーキテクチャで、MITのRodney Brooksという研究者が作ったものだ。自律動作するロボットなんだけど、極々単純なルールとその優先度やオーバーライドの仕組みだけを用意しておき、これを組み合わせるだけでいい、というのがその思想である。例えば、単純な「ゴミ集め」というタスクがある。部屋の中にあるゴミを集めるというタスクで、ホッケーパックみたいなものをゴミに見立てて、これを拾ってゴミ捨て場まで運んでいくというタスク。部屋の中にはいろんな障害物があって、これを避けながらどのような経路で進んでゴミを拾ってゴミ捨て場まで行くか、というのがタスクになる。

subsumptionではこの場合、単純な「まっすぐ進む」「障害物にぶつかったら曲がる」「ゴミを見つけたらその方を向く」「ゴミを持っている時はゴミ捨て場の方を向く」みたいなルールだけを持っている。それだけなのに複雑な地形でもちゃんとゴミを見つけてゴミ捨て場まで運んでいけることが示されていた。

ダンゴムシってすごい単純な規則で動いていて、障害物にぶつかったらどちらにどれぐらい曲がるのが決まっていたりするでしょう。そんな単純なルールにも関わらずダンゴムシも複雑な動きを見せる。何故かというと環境が複雑だから。subsumption はそれと同じで、環境の複雑さによって知能が発現する、知能が環境に埋め込まれているとか言われていた。

この Brooks が共同創業者兼CTOとして立ち上げた会社が iRobot で、その民生用製品として作られたのが世界初のロボット掃除機 Roomba だった。だからそうなのかは全然知らんけど、自分としては Roomba の振る舞いにsubsumptionの影響を見ていた。単純な何パターンかの動きと、壁にぶつかるとこうするといったルールの組み合わせだけなのに、どんな形状の部屋でもきちんと掃除できる。複雑な部屋の形状や家具配置について対応するのではなく、単純かつ柔軟な構成の振る舞いが複雑な部屋にあることによって知的な行動が発現する。かっこいい! みたいな。

なので iRobot が最近苦境だというのを知って寂しかったものだし、ロボット掃除機を買うにあたって検討はした。見当はしたが、やっぱり便利なのはこっちだよなと思って別の会社のものを買った。そしてそれに満足している。人に勧めるのも多分こういうやつだろう。そのことが少し寂しい。勝手な言い草だけど、そんなふうにも思ってしまうのである。

ちなみに余談だが、当の Brooks はとうの昔に iRobot の職を辞して別なロボットスタートアップを立ち上げ、それも畳んでまた別のロボットスタートアップをやっているらしい。当人すら move on してるのにわけのわからない外野に何か言う権利があるものだろうか。

(ところで私が大学院生だった頃から SLAM (simultaneous-localization-and-mapping)といって、未知環境に置かれたロボットが動き回りながらセンサ情報から自己位置同定と地図作成を同時に行うという研究が盛んに行われていた。ああいうのを真面目に研究していた人だと、現代のロボット掃除機などまさにその実用化として感慨深いものがあるのではないだろうか。当時は「技術的な面白さはともかく、未知環境でわざわざロボットが自力で地図作成しなきゃいけないような応用場面なんかあるんかいな。地図ぐらい設置時に与えればいいじゃん」などと思っていたものである)