地図と自己位置認識


Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_05a317699b3dc6144fb3dbc6b01c3749.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_05a317699b3dc6144fb3dbc6b01c3749.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_3c0a30d59285caf5503ec62abae2a19d.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_3c0a30d59285caf5503ec62abae2a19d.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_21d27fd3c2482b53852861da56046e24.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_21d27fd3c2482b53852861da56046e24.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

ロボットの自己位置認識は、地図を作成しながらその地図の中の自己位置を捉えて行く方法がメジャーのような気がする。しかし、舞台上でロボットの自己位置認識をさせる場合は、舞台のマップは大概の場合すでに与えられている。そこで、舞台地図が与えられた場合、距離センサーの測定値から自己位置を推定する手続きを考える。地図を作成しながらより、もっと単純になる。(以下の図は、GrabitDesignerといアプリで描いた、今までは、illustratorを使っていたが、長期的には、無料ソフトがいいと思って鞍替えしている、よく似ているので使いやすい)

舞台上の左下を原点として、上側にy軸、横方向にx軸をとる。舞台奥行きはDepth、横幅はWidthで表されているとしよう。位置の点は黒丸で表される。また、ロボットの向き角度は、下手(左)から上手(右)に向かう方向をゼロとして、反時計回りの角度で表されるとしよう。

今、ロボットがθ方向に、距離dをセンサーによって取得したとしよう。ただし、その自己位置(x, y)はわかっていず、距離の対象になった点(x0, y0)もわかっていないとする。

ただし、重要なのは、この時点で、舞台が限られていることから、(x, y)が舞台の中にあるとしたらその場所は、自由ではありえない。対象となる点は、舞台の客側を除いた、(0, 0)→(o, Depth)→(Width, Depth)→(0, Width)をつなぐ線上のいずれかの点である。この舞台枠のラインをSとしよう。

今、測定誤差を前後左右の辺の長さが2εの正方形で表されるとしよう。(x0, y0)をS上に与えた時にd,θから規定される(x, y)が舞台の中に収まっている可能性があるかどうかを計算することができる。

上記不等式は、(x0, y0)から、ロボットの位置(x, y)の可能性の範囲を示している。この時、(x0, y0)を舞台枠Sに沿って動かせば、d, θを測定した場合のロボット位置の範囲全体が示せる。この領域をEとする。

今、ロボットが角度を変えたり、位置を変えたりして(あるいは、違う方向を向いたセンサー情報でも良い)、情報が追加されれば、その都度、この領域が与えられる。第i回目の測定で計算された領域をとするとその共通(積)集合、の中に、ロボットがいる可能性が高いということになる。

測定は、角度だけ変えるのが基本である。位置まで変えると、ややこしくなってしまうし、また、舞台上に机などがあると、このように単純にはいかないが、その場合も測定できるように拡張することは、それほど難しくないと考えている。