• 検索結果がありません。

窓枠位置情報を利用した位置検出法

ドキュメント内 窓ガラス清掃ロボットに関する研究 (ページ 33-38)

第 2 章 壁面移動ロボットの軌道追従制御法 15

2.4 窓枠位置情報を利用した位置検出法

2.4.1 窓枠位置情報を利用した窓ガラス清掃ロボットの位置検出法

2.2節で提案した壁面移動ロボットの軌道追従制御法を実現するためには,左右車 輪の角速度q˙とロボットの現在位置Wx, Wy,姿勢θの情報が必要となる.左右車輪 の角速度は,車輪のエンコーダによって測定される車輪の回転角情報から検出でき る.しかし,窓ガラス清掃ロボットにおいては,ガラス面と車輪間にすべりが生じ るため,車輪の回転角情報を用いて正確な自己位置,姿勢推定を行うことは困難で ある.そこで,車輪のエンコーダ以外のセンサを用いて,窓ガラス清掃ロボットの 姿勢と位置の検出を行う.ガラス一枚ごとにセンサを設置することはたいへんであ り,またコストが高くなる.このため,安価な加速度センサと距離センサをロボッ トに搭載する.

まず,ロボットの中心に搭載した加速度センサを用いて,ロボットの姿勢θを検出 する方法を示す.一般に,窓ガラス清掃ロボットにおいて,走行加速度は重力加速 度gより十分に小さいと考えられる.また,モータの振動などによるノイズは,ロー パスフィルタにより除去できる.そこで,加速度センサによって,以下の式で表さ れる0x, 0y軸方向の加速度ax, ayを測定する.

ax =−gsinθ (2.22)

ay =−gcosθ (2.23)

式(2.22), (2.23)よりgを消去すると,以下のようになる.

tanθ = ax

ay (2.24)

Direction of gravitational force θ

V0

x y

ΣW W

W

W indow frame

Ly

Lx

θ

θ

Lfw

Lfh

Fig. 2.8 Localization method

したがって,ロボットの姿勢θは以下の式で計算される.

θ = tan1 ax

ay (2.25)

次に,ロボットの並進方向と車軸方向にそれぞれ搭載した距離センサを用いて,ロ ボットの位置Wx, Wyを検出する方法を示す.図2.8に示すように,ロボットから鉛 直な窓枠までの垂直な距離をLfwと,ロボットから水平な窓枠までの垂直な距離を Lfhとする.このとき,距離センサによって,ロボットから鉛直な窓枠までの距離 Lxと水平な窓枠までの距離Lyを測定すると,ロボットの位置Wx, Wyは以下の式で 計算される.

Wx=Lfw =Lxcosθ (2.26)

Wy=Lfh =Lycosθ (2.27)

窓枠が平らでない,高さが低すぎる等の理由でロボットから窓枠までの距離を測 定できない場合は,窓枠の代わりに床または壁までの距離を用いる.また,ロボット の姿勢θの絶対値が大きくなると,ロボットの並進方向と車軸方向にそれぞれ搭載 した距離センサのみでは,意図した窓枠からの距離を測定できない場合がある.こ の場合は,ロボットにそれぞれ異なる方向を向く複数の距離センサを搭載し,検出

θ

x y

ΣW W

W

Window frame

Wx

y

W

θ+∆θ

y+y

W W

x+x

W W

Direction of gravitational force Robot

Fig. 2.9 Localization method errors

したロボットの姿勢θを基に水平方向と鉛直方向に近い方向を向く距離センサをそ れぞれ選択して使用する.

この窓枠位置情報を利用した位置検出法により,加速度センサと距離センサを用 いて,ロボットの現在位置Wx, Wy,姿勢θを検出可能である.

2.4.2 窓枠位置情報を利用した位置検出法による検出誤差

2.4.1で提案した窓枠位置情報を利用した位置検出法において,ロボットから鉛

直な窓枠までの距離Lxと水平な窓枠までの距離Lyの距離センサによる測定誤差を

∆Lx, ∆Lyとし,加速度センサによるロボットの姿勢θの検出誤差を∆θとする.こ のとき,これらの誤差の影響により図2.9に示すように,窓ガラス清掃ロボットの 現在位置Wx,Wyの検出誤差∆Wx, ∆Wyが生じる.以下では,これらの位置の検出誤 差∆Wx, ∆Wyについて検討する.

式(2.26), (2.27)より以下の関係が成り立つ.

Wx+ ∆Wx= (Lx+ ∆Lx) cos(θ+ ∆θ) (2.28)

Wy+ ∆Wy= (Ly+ ∆Ly) cos(θ+ ∆θ) (2.29) 式(2.26)(2.29)より,Wx, Wyを消去すると以下の式が得られる.

Wx= (Lx+ ∆Lx) cos(θ+ ∆θ)−Lxcosθ (2.30)

Wy= (Ly + ∆Ly) cos(θ+ ∆θ)−Lycosθ (2.31) ここで,距離センサによる測定誤差∆Lx, ∆Lyがそれぞれロボットから鉛直な窓枠 までの距離Lxと水平な窓枠までの距離Lyに比例すると仮定して以下のようにする.

∆Lx =αxLx (2.32)

∆Ly =αyLy (2.33)

αx, αyは比例定数である.式(2.32), (2.33)をそれぞれ式(2.30), (2.31)に代入して

∆Lx, ∆Lyを消去すると以下のようになる.

Wx= (1 +αx)Lxcos(θ+ ∆θ)−Lxcosθ (2.34)

Wy= (1 +αy)Lycos(θ+ ∆θ)−Lycosθ (2.35) ロボットの姿勢の検出誤差∆θが微少であると仮定すると,式(2.34), (2.35)は以下 のようになる.

Wx=αxLxcosθ (2.36)

Wy=αyLycosθ (2.37)

式(2.26), (2.27), (2.36), (2.37)よりLx,Lyを消去すると以下の式が得られる.

Wx=αxLfw (2.38)

Wy=αyLfh (2.39)

式(2.38), (2.39)より,ロボットの位置の検出誤差∆Wx, ∆Wyが,それぞれロボットか ら鉛直な窓枠までの垂直な距離をLfwと水平な窓枠までの垂直な距離をLfhに比例し て大きくなることが分かる.Lfw,Lfhの最大値をそれぞれLfw M AX,Lfh M AXとおく

x y

ΣW

W W

Window frame

Robot R

Fig. 2.10Location when Lx orLy is maximum

と,式(2.38), (2.39)より,ロボットの位置の検出誤差∆Wx, ∆Wyの最大値∆WxM AX,

WyM AX は以下のようになる.

WxM AX =αxLfw M AX (2.40)

WyM AX =αyLfh M AX (2.41)

また,図2.10に示すように,ロボットから鉛直な窓枠までの距離Lxと水平な窓 枠までの距離Lyの最大値Lx M AX, Ly M AXは以下のようになる.

Lx M AX =Ly M AX =

{(Lfw M AX)2+ (Lfh M AX)2} (2.42)

ロボットに搭載する距離センサはLx M AX, Ly M AXを測定可能である必要がある.

以上の議論より,2.4.1で提案した窓枠位置情報を利用した位置検出法においては,

ロボットから窓枠までの垂直な距離Lfw, Lfhの最大値Lfw M AX, Lfh M AXが大きい 窓ガラス,すなわちサイズが大きい窓ガラスほど検出距離が長い距離センサが必要 であり,ロボットの位置の検出誤差∆Wx, ∆Wyも大きくなる.このため,提案した 位置検出法を大きい窓ガラスに適用するためには,測定精度が高い距離センサを使 用する必要がある.逆に,使用する距離センサの測定精度によっては,提案手法を 適用できない窓ガラスがある.

Fig. 2.11Glass cleaning robot developed for experiments

ドキュメント内 窓ガラス清掃ロボットに関する研究 (ページ 33-38)