部屋を自動で片付けるロボットのアルゴリズム

原理的にはデーターベース、画像認識による物体の識別、GAによる初期配置への物体の輸送
シミュレーターを組み合わせれば部屋を自動的に片付けてくれるロボットが作れるはずである
僕が知ってる技術だと認識アプリのあたりがこの理想の実現には不可欠なんだけど
部屋にある物全ての形状を識別出来る程、識別能力が高いソフトは実現出来ていないと
思う。ここが発展すれば夢は叶う
奇しくもgoogle glassが米国居住者に販売され始めたこの時代
ARと共に画像認識の技術を使用したソフトウェアが流行る期待は
高まっている。

アルゴリズムとしてはこんな感じだ
まずロボットに綺麗な状態の部屋の初期配置を入力しておく
これは実際の部屋を綺麗な状態にして3Dスキャンを行う方法でも
3Dシミュレーター上に再現した部屋を覚えさせても良い
部屋にある物は製品情報として3DモデルをDBに登録しておき
ロボットにちらかった部屋の中にある製品を識別させる
(この時登録されていない製品は"その他"として識別する事とする)
部屋の中にある製品の識別、各製品の座標の取得、部屋の形状の取得が
終わったら3Dモデルをシミュレーターの中に書き込み
ロボットがどう動けば登録された「綺麗な状態」の部屋へ近づくか
評価を行う

GAの評価関数は各製品の位置関係、壊れないように一定速度以内で移動する事を
定義に加えておくのだ
しばらく走らせておけば部屋を片付ける為に適した動作を学習したロボットが
完成する。

さてここでポイントになるのが計算量だが
基本的に計算はクラウド上の計算機リソースを割当てる事にする。
つまり最初の部屋の状態や整った状態の部屋の記録は
クラウド上のコンピューターに記録しておき
大規模なシミュレーションの計算はそちらで行い
出来上がった動作だけをロボットにダウンロードする。

これなら、良いお片づけロボットのソフトが出来るのではなかろうか
人間の顔認識を始め画像認識の発展はしているので
近い将来個々の製品を識別する事が出来るようになるだろう
(バーコードみたいなマーカーつけるという手もあるけど)
やはりお片づけロボットの作成のキモは現実的な時間内で
どれほどの規模の部屋を初期状態に戻せるか
動作の淘汰にどれほど時間がかかるのかである

これにお掃除ロボットの夢の全てがかかっている
人工知能学会のメイドロボの夢はネットワークの帯域とクラウドリソース
GAの上手い評価関数定義、アルゴリズムの組み方にかかっていると言って
過言でない

ひゃっはー
燃え上がれ論客達