(57)【要約】【課題】複数の発信器に基づいて移動する際の移動距離を削減する。【解決手段】移動ロボットは、移動速度と進行方向とを変更する駆動部と、目標地点までの移動経路に沿って配置された複数の被検出体を検出する検出部と、検出部により検出された被検出体までの距離と方向とを取得し、被検出体までの距離と被検出体の方向とが予め定められた関係を満たす進行方向を算出し、算出した進行方向に基づいて駆動部を制御する制御部と、を備える。【選択図】図２
2018013962.tif 000002
【特許請求の範囲】
【請求項１】
移動速度と進行方向とを変更する駆動部と、
目標地点までの移動経路に沿って配置された複数の被検出体を検出する検出部と、
前記検出部により検出された前記被検出体までの距離と方向とを取得し、前記被検出体までの距離と前記被検出体の方向とが予め定められた関係を満たす進行方向を算出し、算出した進行方向に基づいて前記駆動部を制御する制御部と、
を備える移動ロボット。
【請求項２】
進行方向を正面としたときの側面に存在する物体を検出する検出センサを備え、
前記制御部は、前記検出センサにより検出された物体との距離を一定する進行方向を算出する、
請求項１に記載の移動ロボット。
【請求項３】
前記被検出体それぞれの前記移動経路までの距離を予め記憶するテーブルを備え、
前記制御部は、前記検出部により検出された前記被検出体と前記移動経路との距離を取得し、取得した距離をＸとし、検出された前記被検出体までの距離をＺとしたときに、ａｒｃｓｉｎ（Ｘ／Ｚ）で得られる角度に基づいて進行方向を算出する、
請求項１又は請求項２に記載の移動ロボット。
【請求項４】
前記テーブルには、目標地点までの前記移動経路において前記被検出体それぞれが右側と左側とのいずれに配置されているかが記憶され、
前記制御部は、検出された前記被検出体の前記移動経路に対する位置に基づいて、進行方向を算出する、
請求項３に記載の移動ロボット。
【請求項５】
前記テーブルには、前記被検出体ごとに進行方向の変更の有無を示す回転情報が記憶され、
前記制御部は、検出された前記被検出体に対して進行方向の変更が前記テーブルに記憶されている場合、検出された前記被検出体までの距離が所定の距離になると、進行方向を変更する、
請求項３又は請求項４に記載の移動ロボット。
【請求項６】
前記テーブルには、目標地点に最も近い前記被検出体を示す情報が記憶され、
前記制御部は、検出された前記被検出体が目標地点に最も近い前記被検出体である場合、検出された前記被検出体までの距離が所定の距離になると、前記駆動部を制御して停止させる、
請求項３から請求項５のいずれか一項に記載の移動ロボット。
【請求項７】
移動速度と進行方向とを変更する駆動部と、目標地点までの移動経路に沿って配置された複数の被検出体を検出する検出部と、を備える移動ロボットの制御方法であって、
前記検出部により検出された前記被検出体までの距離と方向とを取得する第１のステップと、
前記被検出体までの距離と前記被検出体の方向とが予め定められた関係を満たす進行方向を算出する第２のステップと、
算出した進行方向に基づいて前記駆動部を制御する第３のステップと、
を有する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボット及び制御方法に関する。
【背景技術】
【０００２】
自律移動する移動ロボットを誘導するために、ビーコンなどの発信器が用いられている。例えば、移動ロボットとしての掃除ロボットは、充電器に設けられたビーコンから発せられる信号に基づいて、充電器へ向けて移動して充電器から電力の供給を受ける動作を行っている。また、引用文献１に記載の移動作業ロボットは、ビーコンから発せられる信号に基づいて、基準となる位置を検出し、移動を制御している。
【０００３】
自律移動する移動ロボットのビーコンを用いた移動制御では、目標とするビーコンに向かって移動し、ビーコンに近づく又は接触すると移動を停止する制御が主である。このような制御を行う移動ロボットを、複数のビーコンを用いて目的地まで誘導する場合、移動ロボットは、目標とするビーコンに向かって移動して所定の距離まで近づくと、次の目標となるビーコンに向かって移動するという制御を繰り返すことになる。この場合、移動ロボットが目標とするビーコンに近づきすぎたりして目的地へ到達するまでの移動に無駄が生じることがあった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−０７３１７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記の事情を鑑みてなされたものであり、その目的は、複数の発信器に基づいて移動する際の移動距離を削減できる移動ロボット及び制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様は、移動速度と進行方向とを変更する駆動部と、目標地点までの移動経路に沿って配置された複数の被検出体を検出する検出部と、前記検出部により検出された前記被検出体までの距離と方向とを取得し、前記被検出体までの距離と前記被検出体の方向とが予め定められた関係を満たす進行方向を算出し、算出した進行方向に基づいて前記駆動部を制御する制御部と、を備える移動ロボットである。
【０００７】
また、本発明の一態様は、移動速度と進行方向とを変更する駆動部と、目標地点までの移動経路に沿って配置された複数の被検出体を検出する検出部と、を備える移動ロボットの制御方法であって、前記検出部により検出された前記被検出体までの距離と方向とを取得する第１のステップと、前記被検出体までの距離と前記被検出体の方向とが予め定められた関係を満たす進行方向を算出する第２のステップと、算出した進行方向に基づいて前記駆動部を制御する第３のステップと、を有する制御方法である。
【発明の効果】
【０００８】
この発明によれば、複数のビーコンに基づいて移動する際の移動距離の削減ができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態における移動ロボットの移動例を示す図。
【図２】第１の実施形態における移動ロボットの構成例を示すブロック図。
【図３】第１の実施形態における制御部の構成例を示すブロック図。
【図４】第１の実施形態における移動経路記憶部に記憶されているテーブルの一例を示す図。
【図５】駆動制御部におけるビーコン情報に基づいた制御に係る構成例を示すブロック図。
【図６】駆動制御部において算出される補正角Δθを示す図。
【図７】制御部による移動制御処理を示すフローチャート。
【図８】移動ロボットが移動する通路に交差点が存在する場合のビーコンの配置例を示す図。
【図９】移動ロボットが移動する通路に交差点が存在する場合のビーコンの配置例を示す図。
【図１０】第２の実施形態における移動ロボットの構成例を示すブロック図。
【図１１】第２の実施形態における制御部の構成例を示すブロック図。
【図１２】第２の実施形態における駆動制御部におけるビーコン情報に基づいた制御に係る構成例を示すブロック図。
【図１３】第２の実施形態における本体補正角算出部において算出される本体補正角Δθ’を示す図。
【図１４】第２の実施形態における移動制御処理の一部を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態における移動ロボット及び制御方法を説明する。図１は、本実施形態における移動ロボット１の移動例を示す図である。移動ロボット１は、通路を定める境界３（３−１、３−２）に沿って配置されるビーコン２（２−１、２−２）を検出し、検出したビーコン２の位置に基づいて、境界３から一定の距離を保ちながら目的地点に向かって移動する。発信器としてのビーコン２には、それぞれを一意に識別するビーコンＩＤが割り当てられている。ビーコン２は、ビーコンＩＤを示す信号を含む赤外線の信号を発信する。ビーコンＩＤは、例えば赤外線の信号における周期的な変化により表される。通路を定める境界３は、例えば壁や間仕切りである。
【００１１】
図１に示す移動例では、移動ロボット１の進行方向に対して左側の境界３−１から一定の距離保って移動ロボット１が移動する。移動ロボット１は、境界３−１から一定の距離Ｘｒｅｆを保つために、検出したビーコン２−１までの距離Ｚと方向θとを取得し、距離Ｚと方向θとが予め定められた条件を満たす進行方向を算出する。移動ロボット１は、算出した進行方向に移動する。方向θは、移動ロボット１の進行方向と、検出されたビーコン２−１の方向とがなす角である。予め定められた条件を満たす進行方向は、方向θがａｒｃｓｉｎ（Ｘｒｅｆ／Ｚ）となる進行方向である。移動ロボット１は、ビーコン２−１までの距離Ｚが予め定められた切替閾値より近くなると、目標をビーコン２−２に切り替えて移動する。移動ロボット１からの距離が切替閾値より近い範囲を切替範囲という。
【００１２】
図１には、比較例として、従来手法による移動経路が破線にて表されている。従来手法による移動経路は、移動ロボットが目標とするビーコンに向かって移動し、移動ロボットがビーコンに一定距離まで近づくと次のビーコンを目標として移動したときの経路である。従来の移動経路では、一定距離までビーコン２−１、２−２へ近づいたときに目標とするビーコン２から一旦離れ、目標とするビーコン２を切り替えるため、ビーコン２近傍において移動経路がジクザグになり、移動距離が長くなっている。これに対して、本実施形態の移動ロボット１の移動経路は、境界３−１から一定の距離Ｘｒｅｆを保って移動するため、冗長な移動なく、移動距離の削減が図られている。
【００１３】
＜第１の実施形態＞
図２は、第１の実施形態における移動ロボット１の構成例を示すブロック図である。移動ロボット１は、駆動部１１と、ビーコン検出部１２と、制御部１３とを備える。
【００１４】
駆動部１１は、駆動輪１１１、１１２と、モータ１１３、１１４と、モータ制御部１１５とを備える。駆動輪１１１は、移動ロボット１の進行方向に対して左側に備えられる。駆動輪１１２は、移動ロボット１の進行方向に対して右側に備えられる。モータ１１３は、モータ制御部１１５の制御に応じて、駆動輪１１１を回転させる。モータ１１４は、モータ制御部１１５の制御に応じて、駆動輪１１２を回転させる。モータ制御部１１５は、制御部１３から入力されるモータ１１３、１１４それぞれに対する角速度指令値に基づいて、モータ１１３、１１４に対して電力を供給する。
【００１５】
モータ１１３、１１４がモータ制御部１１５から供給される電力に応じた角速度で回転することにより、移動ロボット１が前進又は後進する。また、モータ１１３、１１４の角速度に差を生じさせることにより、移動ロボット１の進行方向が変更される。例えば、前進の際に左側の駆動輪１１１の角速度を右側の駆動輪１１２の角速度より大きくすることにより、移動ロボット１は右旋回しながら移動する。また、駆動輪１１１、１１２それぞれを逆向きに回転させることにより、移動ロボット１は位置を変えずに旋回する。なお、移動ロボット１は、移動ロボット１の姿勢を安定させるために、駆動輪１１１、１１２以外の車輪を有していてもよい。
【００１６】
ビーコン検出部１２は、赤外線センサ１２１、１２２と、算出部１２３とを備える。赤外線センサ１２１は、移動ロボット１の前面の左側に取り付けられ、移動ロボット１の前面側に位置するビーコン２から発信される赤外線の信号を検出する。赤外線センサ１２２は、移動ロボット１の前面の右側に取り付けられ、移動ロボット１の前面側に位置するビーコン２から発信される赤外線の信号を検出する。赤外線センサ１２１、１２２は、移動ロボット１の中心を通る正面方向の直線に対して対称に、移動ロボット１の筐体に取り付けられる。赤外線センサ１２１、１２２には、例えば赤外線フィルタを組み合わせた撮像素子が用いられる。赤外線センサ１２１、１２２により撮像される画像における輝度の変化を検出することにより、ビーコン２が検出される。
【００１７】
算出部１２３は、赤外線センサ１２１により撮像された画像における目標のビーコン２の位置と、赤外線センサ１２２により撮像された画像における目標のビーコン２の位置との差に基づいて、移動ロボット１からビーコン２までの距離Ｚと方向θとを算出する。算出部１２３は、赤外線センサ１２１、１２２により撮像される画像に複数のビーコン２から発信される信号が含まれる場合、目標とするビーコン２のビーコンＩＤを検出し、目標とするビーコン２までの距離Ｚと方向θとを算出する。ビーコンＩＤの検出は、例えば、時系列に連続する画像においてビーコンＩＤに対応する信号の周期的な変化を検出することにより行われる。算出部１２３は、算出した距離Ｚ及び方向θとビーコンＩＤとを含むビーコン情報を制御部１３へ出力する。算出される距離Ｚは、赤外線センサ１２１と赤外線センサ１２２とを結ぶ線分上の中心からの距離である。赤外線センサ１２１と赤外線センサ１２２とを結ぶ線分が移動ロボット１の進行方向に対して直交するように、赤外線センサ１２１、１２２が取り付けられていると、算出部１２３における演算負荷を軽減できる。
【００１８】
制御部１３は、ビーコン検出部１２から取得するビーコン情報に基づいて、駆動部１１を制御する。図３は、制御部１３の構成例を示すブロック図である。制御部１３は、移動経路記憶部１３１と、ビーコン選択部１３２と、駆動制御部１３３とを備える。移動経路記憶部１３１には、移動ロボット１の移動経路に沿って配置された複数のビーコン２に関する属性情報を含むテーブルが予め記憶されている。ビーコン選択部１３２は、移動経路記憶部１３１に記憶されているテーブルに基づいて、目標とするビーコン２のビーコンＩＤをビーコン検出部１２へ出力する。ビーコン選択部１３２は、ビーコン検出部１２から入力するビーコン情報に基づいて、目標とするビーコン２を切り替えるか否かを判定する。ビーコン選択部１３２は、目標とするビーコン２を切り替える場合、現在の目標とするビーコン２の次のビーコン２をテーブルから選択する。
【００１９】
駆動制御部１３３は、ビーコン検出部１２から出力されるビーコン情報に基づいて、移動経路記憶部１３１に記憶されているテーブルから属性情報及び制御情報を読み出す。属性情報は、目標とするビーコン２に関する情報である。制御情報は、目標とするビーコン２に紐付けられた制御を示す情報である。ビーコン２に紐付けられた制御は、例えば目標地点を示すビーコン２の近傍において停止する制御や、進行方向の変更を示すビーコン２の近傍において旋回する制御などである。駆動制御部１３３は、ビーコン情報、属性情報及び制御情報に基づいて、駆動部１１を制御する。
【００２０】
図４は、移動経路記憶部１３１に記憶されているテーブルの一例を示す図である。テーブルは、「ビーコンＩＤ」と、「通路距離」と、「設置側」と、「方向転換」と、「最終ビーコン」との項目の列を備える。各行は、ビーコンごとに存在する属性情報である。テーブルにおける各行は、移動ロボット１が移動経路に沿って移動する際に通過するビーコン２の順序に並んでいる。「ビーコンＩＤ」の列には、行に対応するビーコン２のビーコンＩＤが含まれる。「通路距離」の列には、行に対応するビーコン２が通路の境界３からどれだけ離れて配置されているかを示す距離が含まれる。ビーコン２が境界３上に配置されている場合、通路距離は０（ゼロ）になる。ビーコン２が、移動経路から離れた位置に配置されている場合、ビーコン２から境界３までの距離が通路距離になる。通路距離の正負は、例えば、移動経路に近づく方向を負の通路距離とし、移動経路から遠ざかる方向を正の通路距離とする。
【００２１】
「設置側」の列は、移動ロボット１が移動経路に沿って移動する場合において、行に対応するビーコン２が移動ロボット１の右側又は左側のいずれに配置されているかを示す情報が含まれる。「方向転換」の列は、行に対応するビーコン２に対して移動ロボット１が予め定められた距離又は切替閾値まで近づいたときに、移動ロボット１の進行方向の変更を示す回転情報が含まれる。回転情報が０度である場合、移動ロボット１の進行方向の変更がないことを示す。回転情報が０度以外である場合、回転情報が示す角度分、移動ロボット１の進行方向を時計回り又は反時計回りに変更する。「最終ビーコン」の列は、行に対応するビーコン２が、移動経路における目標地点を示すビーコン２であるか否かを示す情報が含まれる。図４に示すテーブルでは、ビーコンＩＤ「Ｍ」を有するビーコン２が目標地点を示す。目標地点を示すビーコン２は１つである。
【００２２】
図５は、駆動制御部１３３におけるビーコン情報に基づいた制御に係る構成例を示すブロック図である。駆動制御部１３３は、通過位置算出部１３６と、補正角算出部１３７と、指令値算出部１３８とを備える。通過位置算出部１３６は、ビーコン情報に含まれるビーコン２までの距離Ｚ及び方向θを入力する。通過位置算出部１３６は、距離Ｚ及び方向θに基づいて、現在の移動ロボット１の進行方向で移動してビーコン２に最接近したときのビーコン２までの距離ｘと、ビーコン２に最接近するまでの移動距離ｙとを算出する。移動ロボット１がビーコン２に最接近したときの位置は、移動ロボット１の位置から進行方向に伸ばした移動直線に対して直交する直線であってビーコン２の位置を通過する直線と、移動直線との交点である。距離ｘは、（Ｚ・ｓｉｎθ）として得られる。移動距離ｙは、（Ｚ・ｃｏｓθ）として得られる。距離ｘは、ビーコン通過距離ともいう。また、移動距離ｙは、ビーコン横までの距離ともいう。
【００２３】
補正角算出部１３７は、通路の境界から移動経路までの距離Ｘｒｅｆから距離ｘを減算して得られる差分ΔＸと、移動距離ｙとを入力する。補正角算出部１３７は、差分ΔＸと移動距離ｙとに基づいて、移動ロボット１の進行方向に対する補正角Δθを算出する。具体的には、補正角算出部１３７は、ａｒｃｔａｎ（ΔＸ／ｙ）で得られる値を補正角Δθとする。
【００２４】
指令値算出部１３８は、並進速度指令値Ｖｒｅｆと、角速度指令値ωｒｅｆと、角速度の測定値ωｌ’、ωｒ’と、補正角Δθとを入力する。並進速度指令値Ｖｒｅｆは、移動ロボット１の並進速度に対する指令値（目標値）である。角速度指令値ωｒｅｆは、進行方向を基準として時計回り方向又は反時計回り方向へ進行方向を変更する際の角速度である。角速度指令値ωｒｅｆは、時計回り方向の変化量を正の値として定めてもよいし、反時計回りの方向の変化量を正の値として定めてもよい。角速度の測定値ωｌ’、ωｒ’は、モータ１１３、１１４それぞれに設けられているエンコーダにより測定された各速度である。指令値算出部１３８は、並進速度指令値Ｖｒｅｆと角速度指令値ωｒｅｆと角速度の測定値ωｌ’、ωｒ’と補正角Δθとに基づいて、移動ロボット１を並進速度指令値Ｖｒｅｆ及び角速度指令値ωｒｅｆで移動させつつ、進行方向を補正角Δθ変更させる角速度指令値ωｌ、ωｒを算出する。指令値算出部１３８は、算出した角速度指令値ωｌ、ωｒを駆動部１１へ出力する。
【００２５】
図６は、駆動制御部１３３において算出される補正角Δθを示す図である。ビーコン検出部１２が、境界３−１上に配置されたビーコン２を検出することにより、移動ロボット１からビーコン２までの距離Ｚと、移動ロボット１の進行方向を基準としてビーコン２が位置する方向θとが得られる。通過位置算出部１３６が距離Ｚ及び方向θから距離ｘ及び移動距離ｙを算出する。移動ロボット１は、移動経路に沿って配置されたビーコン２から一定の距離Ｘｒｅｆ離れた位置Ｐｐａｓｓを通過するために、進行方向を変更する必要がある。位置Ｐｐａｓｓは、ビーコン２の属性情報のうち「設置側」を示す情報に基づいて定まる。図６は、ビーコン２が移動経路の左側に設定されている場合を示している。
【００２６】
図６に示す例において、現在の進行方向を維持したまま移動ロボット１が移動すると、移動ロボット１は、位置Ｐｐａｓｓより差分ΔＸ離れた位置を通過する。そこで、補正角算出部１３７が、差分ΔＸと移動距離ｙとに基づいて、進行方向に対する補正角Δθを算出する。指令値算出部１３８は、移動ロボット１を並進速度指令値Ｖｒｅｆ及び角速度指令値ωｒｅｆで移動させつつ、進行方向を反時計回りに補正角Δθ変更させるための角速度指令値ωｌ、ωｒを算出して駆動部１１を制御する。このように、駆動制御部１３３が駆動部１１を制御することにより、通路の境界３−１から一定の距離Ｘｒｅｆを隔てた位置に定められた移動経路上を移動ロボット１が移動することができる。
【００２７】
なお、図６に示した例では、ビーコン２が境界３−１上に配置される場合を説明した。しかし、境界３上にビーコン２を配置できない場合には、ビーコン２が配置された位置と境界３との差分が通路距離（Ｄ１，Ｄ２，…，ＤＭ）としてテーブルに記憶される。この場合、補正角算出部１３７は、補正角Δθを算出する際に、通路距離を用いて距離Ｘｒｅｆ又は差分ΔＸのいずれかを補正する。
【００２８】
図７は、制御部１３による移動制御処理を示すフローチャートである。移動ロボット１の移動が開始されると、ビーコン選択部１３２は、目標とするビーコン２のビーコンＩＤをビーコン検出部１２へ出力する。初期状態において、ビーコン選択部１３２は、テーブルの最初の行に記憶されているビーコンＩＤを、目標とするビーコン２のビーコンＩＤに選択する。ビーコン検出部１２は、目標とするビーコン２を検出できるか否かを判定する（ステップＳ１０１）。
【００２９】
ビーコン２を検出できない場合（ステップＳ１０１のＮＯ）、ビーコン検出部１２は、ビーコン２を検出できなかったことを示すエラー信号を出力する。駆動制御部１３３は、エラー信号に応じて、駆動部１１に駆動輪を停止させる（ステップＳ１２１）。ビーコン選択部１３２は、エラー信号に応じて、ビーコン２が検出できないことを示すエラー情報を外部へ出力し（ステップＳ１２２）、移動制御処理を終了させる。なお、エラー情報の出力は、移動ロボット１に備えられる出力装置、例えばスピーカやディスプレイを用いて行われる。
【００３０】
ステップＳ１０１において、ビーコン２を検出できた場合（ステップＳ１０１のＹＥＳ）、ビーコン選択部１３２及び駆動制御部１３３は、ビーコン検出部１２からビーコン情報を取得する（ステップＳ１０２）。ビーコン選択部１３２は、ビーコン情報により示されるビーコン２が最終ビーコンであるか否かをテーブルに基づいて判定する（ステップＳ１０３）。
【００３１】
ビーコン２が最終ビーコンである場合（ステップＳ１０３のＹＥＳ）、駆動制御部１３３は、ビーコン情報により示されるビーコン２までの距離Ｚが切替範囲内であるか否かを判定する（ステップＳ１３１）。ビーコン２までの距離Ｚが切替範囲内である場合（ステップＳ１３１のＹＥＳ）、駆動制御部１３３は、駆動部１１に駆動輪を停止させ（ステップＳ１３２）、移動制御処理を終了させる。
【００３２】
ステップＳ１３１において、ビーコン２までの距離Ｚが切替範囲内でない場合（ステップＳ１３１のＮＯ）、駆動制御部１３３は、処理をステップＳ１０８へ進める。
【００３３】
ステップＳ１０３において、ビーコン２が最終ビーコンでない場合（ステップＳ１０３のＮＯ）、駆動制御部１３３は、ビーコン情報により示されるビーコン２までの距離Ｚが切替範囲内であるか否かを判定する（ステップＳ１０４）。ビーコン２までの距離Ｚが切替範囲内でない場合（ステップＳ１０４のＮＯ）、駆動制御部１３３は、処理をステップＳ１０８へ進める。
【００３４】
ステップＳ１０４において、ビーコン２までの距離Ｚが切替範囲内である場合（ステップＳ１０４のＹＥＳ）、駆動制御部１３３は、ビーコン２の属性情報に方向転換の指示があるか否かをテーブルに基づいて判定する（ステップＳ１０５）。方向転換の指示がない場合（ステップＳ１０５のＮＯ）、駆動制御部１３３は、処理をステップＳ１０７へ進める。
【００３５】
方向転換の指示がある場合（ステップＳ１０５のＹＥＳ）、駆動制御部１３３は、ビーコン２の回転情報をテーブルから取得し、移動ロボット１の進行方向を回転情報の示す角度変更する制御を、駆動部１１に対して行う（ステップＳ１０６）。ビーコン選択部１３２は、現在目標としているビーコン２の次に目標にするビーコン２のビーコンＩＤをテーブルから取得する。ビーコン選択部１３２は、取得したビーコンＩＤのビーコン２をビーコン検出部１２へ出力することにより、取得したビーコンＩＤのビーコン２を新たな目標に選択し（ステップＳ１０７）、処理をステップＳ１０１へ戻す。
【００３６】
補正角算出部１３７は、ビーコン検出部１２から取得したビーコン情報に基づいて算出された差分ΔＸが許容範囲内であるか否かを判定する（ステップＳ１０８）。差分ΔＸに対する許容範囲は、移動ロボット１に対して要求される移動の精度、ビーコン検出部１２におけるビーコン２の検出の精度、モータ１１３、１１４の制御における精度などに基づいて予め定められる。差分ΔＸが許容範囲内でない場合（ステップＳ１０８のＮＯ）、補正角算出部１３７は、差分ΔＸに基づいて補正角Δθを算出する（ステップＳ１０９）。差分ΔＸが許容範囲内である場合（ステップＳ１０８のＹＥＳ）、補正角算出部１３７は、補正角Δθを０とする（ステップＳ１１０）。
【００３７】
指令値算出部１３８は、駆動輪１１１、１１２を駆動するモータ１１３、１１４それぞれの角速度の測定値ωｌ’、ωｒ’を取得する（ステップＳ１１１）。指令値算出部１３８は、並進速度指令値Ｖｒｅｆと、角速度指令値ωｒｅｆと、角速度の測定値ωｌ’、ωｒ’と、補正角Δθとに基づいて、モータ１１３、１１４に対する角速度指令値ωｌ、ωｒを算出する（ステップＳ１１２）。指令値算出部１３８は、角速度指令値ωｌ、ωｒを駆動部１１へ出力し（ステップＳ１１３）、処理をステップＳ１０１へ戻す。
【００３８】
制御部１３において、ステップＳ１０１からステップＳ１３２までの各処理を含む移動制御処理が行われることにより、ビーコン２までの距離Ｚ及び方向θを逐次取得し、進行方向を補正できる。移動制御処理で進行方向が補正されることにより、移動ロボット１は、境界３から一定の距離Ｘｒｅｆを隔てた移動経路を移動することができ、複数のビーコンに基づいて移動する際の移動距離を削減できる。
【００３９】
図８及び図９は、移動ロボット１が移動する通路に交差点が存在する場合のビーコン２の配置例を示す図である。図８は、移動ロボット１からみて交差点の遠方側の２つの角にビーコン２−ｍ、２−（ｍ＋１）を設置する例を示す。図８に示すように２つのビーコン２−ｍ、２−（ｍ＋１）が配置されている場合、移動ロボット１は、２つのビーコンまでの距離Ｚ、Ｚ’それぞれが切替範囲内になる位置まで移動し、回転情報で示される角度の旋回により進行方向の変更を行ってもよい。図９は、移動ロボット１からみて交差点の遠方側の２つの角のうち進行方向の変更先側の１つの角にビーコン２−ｍを設置する例を示す。図９に示すように、ビーコン２−ｍが設置されている場合、移動ロボット１は、２つのビーコンまでの距離Ｚが切替範囲内になる位置まで移動し、回転情報で示される角度の旋回により進行方向の変更を行ってもよい。
【００４０】
＜第２の実施形態＞
図１０は、第２の実施形態における移動ロボット５の構成例を示すブロック図である。移動ロボット５は、駆動部１１と、ビーコン検出部１２と、制御部５３と、検出センサ５４１、５４２とを備える。移動ロボット５は、制御部１３に代えて制御部５３を備える点と、検出センサ５４１、５４２を備える点とが第１の実施形態における移動ロボット１と異なる。移動ロボット５において、移動ロボット１の構成要素と同じ構成要素には同じ符号を付して、重複する説明を省略する。
【００４１】
検出センサ５４１は、移動ロボット５の進行方向に対して筐体の左側面に取り付けられ、進行方向の左側面に位置する物体までの距離を検出する。検出センサ５４２は、移動ロボット５の進行方向に対して筐体の右側面に取り付けられ、進行方向の右側面に位置する物体までの距離を検出する。検出センサ５４１、５４２として、例えば超音波センサやレーザレンジファインダ（Laser Range Finder: LRF）が用いられてもよい。検出センサ５４１、５４２は、予め定められた周期で検出を行い、検出した距離を制御部５３へ出力する。
【００４２】
図１１は、制御部５３の構成例を示すブロック図である。制御部５３は、移動経路記憶部１３１と、ビーコン選択部１３２と、駆動制御部５３３とを備える。駆動制御部５３３は、ビーコン検出部１２から出力されるビーコン情報と、移動経路記憶部１３１に記憶されているテーブルと、検出センサ５４１、５４２から出力される距離とに基づいて、駆動部１１を制御する。
【００４３】
図１２は、駆動制御部５３３におけるビーコン情報に基づいた制御に係る構成例を示すブロック図である。駆動制御部５３３は、本体補正角算出部５３９と、通過位置算出部１３６と、補正角算出部１３７と、指令値算出部１３８とを備える。駆動制御部５３３は、本体補正角算出部５３９を備える点が、第１の実施形態の駆動制御部１３３と異なる。本体補正角算出部５３９は、検出距離の変化量ΔＬと、サンプリング間隔Δｔと、モータ１１３、１１４の角速度の測定値ωｌ’、ωｒ’とを入力する。検出距離の変化量ΔＬは、検出センサ５４１又は検出センサ５４２により検出される距離のサンプリング間隔Δｔにおける変化量である。
【００４４】
移動ロボット５が左右いずれの境界３に沿って移動するかに応じて、検出センサ５４１により検出される距離の変化量ΔＬ又は検出センサ５４２により検出される距離の変化量ΔＬの一方が本体補正角算出部５３９へ入力されるようにしてもよい。あるいは、本体補正角算出部５３９は、検出センサ５４１、５４２それぞれで検出される距離の変化量ΔＬの両方を用いてもよい。両方の変化量ΔＬを用いる場合、本体補正角算出部５３９は、両方の変化量ΔＬの平均値を用いてもよいし、大きい方の変化量ΔＬ又は小さい方の変化量ΔＬを用いてもよい。また、本体補正角算出部５３９は、欠測により一方の変化量ΔＬが得られない場合、他方の変化量ΔＬを用いる。
【００４５】
本体補正角算出部５３９は、サンプリング間隔Δｔにおける変化量ΔＬと、角速度の測定値ωｌ’、ωｒ’とに基づいて、本体補正角Δθ’を算出する。本体補正角Δθ’は、移動ロボット５が境界３に対して一定の距離Ｘｒｅｆを保つように移動ロボット５の進行方向を補正する角度である。通過位置算出部１３６には、ビーコン２の方向θに代えて、ビーコン２の方向θから本体補正角Δθ’を減算した値が入力される。
【００４６】
図１３は、本体補正角算出部５３９において算出される本体補正角Δθ’を示す図である。移動ロボット５の進行方向が境界３−１と並行でない場合、移動ロボット５の移動に伴い移動ロボット５と境界３−１との距離に変化が生じる。図１３において、時刻ｔｎ−１における移動ロボット５と境界３−１との距離をＬｎ−１とし、時刻ｔｎ（＝ｔｎ−１＋Δｔ）における移動ロボット５と境界３−１との距離をＬｎとしている。境界３−１に対する移動ロボット５の進行方向の傾きΔθ’は、ａｒｃｓｉｎ（ΔＬ／Δｙ）で得られる。ΔＬは、距離Ｌｎ−１と距離Ｌｎとの差である。Δｙは、時刻ｔｎ−１から時刻ｔｎまでの期間において移動ロボット５が移動した距離である。移動距離Δｙは、角速度の測定値ωｌ’、ωｒ’から得られる移動ロボット５の移動速度と時間Δｔとの積である。本体補正角算出部５３９は、検出センサ５４１、５４２により得られる境界３までの距離の変化量ΔＬに基づいて、移動ロボット５の進行方向の傾きを本体補正角Δθ’として算出する。
【００４７】
図１４は、第２の実施形態における移動制御処理の一部を示すフローチャートである。図１４に示すフローチャートは、第１の実施形態における移動制御処理と、第２の実施形態における移動制御処理との差分を示している。第２の実施形態における移動制御処理は、図１４に示すステップＳ５０１からステップＳ５０３までの処理を、図７に示すフローチャートにおけるステップＳ１０４及びステップＳ１３１とステップＳ１０８との間に含めたフローチャートで表される。
【００４８】
ステップＳ１０４又はステップＳ１３１から処理が移ると、本体補正角算出部５３９は、変化量ΔＬが許容範囲であるか否かを判定する（ステップＳ５０１）。変化量ΔＬに対する許容範囲は、差分ΔＸに対する許容範囲と同様に予め定められる。変化量ΔＬが許容範囲でない場合（ステップＳ５０１のＮＯ）、本体補正角算出部５３９は、変化量ΔＬと、サンプリング間隔Δｔと、角速度の測定値ωｌ’、ωｒ’とに基づいて本体補正角Δθ’を算出し（ステップＳ５０２）、処理をステップＳ１０８へ進める。変化量ΔＬが許容範囲である場合（ステップＳ５０１のＹＥＳ）、本体補正角算出部５３９は、本体補正角Δθ’を０とし、処理をステップＳ１０８へ進める。
【００４９】
駆動制御部５３３は、本体補正角算出部５３９により算出される本体補正角Δθ’とビーコン２の距離Ｚ及び方向θと、距離Ｘｒｅｆとに基づいて、補正角Δθを算出する。移動ロボット５は、並進速度指令値Ｖｒｅｆと、角速度指令値ωｒｅｆと、角速度の測定値ωｌ’、ωｒ’と、距離Ｘｒｅｆと、ビーコン２の距離Ｚ及び方向θと、検出センサ５４１、５４２により得られる変化量ΔＬとに基づいて、境界３から距離の変化を抑えるように進行方向を制御する。この制御により、移動経路に沿った精度の高い移動を行うことができ、複数のビーコンに基づいて移動する際の移動距離を削減できる。
【００５０】
以上説明した各実施形態の移動ロボットによれば、ビーコン検出部１２により検出されたビーコン２までの距離Ｚと方向θとを取得し、ビーコン２までの距離Ｚとビーコン２の方向θとが予め定められた関係を満たす進行方向を算出し、算出した進行方向に基づいて駆動部１１を制御する制御部を備えることにより、複数のビーコンに基づいて移動する際の移動距離を削減できる。
【００５１】
また、移動ロボットの側面に位置する物体を検出する検出センサ５４１、５４２を備え、制御部が検出された物体との距離を一定にするように進行方向を算出することにより、境界３との距離の変化を抑えることができ、移動経路に沿った精度の高い移動を行うことができる。
【００５２】
また、移動経路記憶部１３１に記憶されるテーブルに、ビーコン２が移動経路に対して左右のいずれに配置されているかを示す設置側を示す情報を含めることにより、ビーコン２の配置における自由度を高めることができ、移動経路の設定を容易にすることができる。
【００５３】
また、移動経路記憶部１３１に記憶されるテーブルに、ビーコン２に紐付けられた動作を含めることにより、移動ロボットの移動経路の設定を容易にすることができる。ビーコン２ごとに移動ロボットの旋回を指示することにより、複雑な移動経路の設定を容易にすることができる。また、移動経路における目標地点に移動ロボットが到達したときに、移動ロボットを停止させることができ、移動ロボットの無駄な移動を抑えることができる。
【００５４】
本実施形態の移動ロボットは、例えば荷物を運搬する搬送装置に用いることができる。本実施形態の移動ロボットは、ビーコン２の配置に関して自由度が高いため、倉庫や工場などにおいて移動ロボットの移動経路を容易に設定及び変更することができ、利用環境に応じた利用を可能とする。
【００５５】
なお、本実施形態の移動ロボットでは、ビーコン２及びビーコン検出部１２が赤外線の信号を送受信する構成を説明した。しかし、ビーコン２に代えて、赤外線の信号以外の可視光線の信号、無線の信号又は音波の信号を発信する発信器が用いられてもよい。発信器が赤外線の信号以外の信号を発信する場合、ビーコン検出部１２は、発信器から発信される信号を検出するセンサを少なくとも２つ備え、発信器までの距離と発信器の方向とを検出する。複数の発信器とビーコン検出部１２とは、ビーコン検出部１２が移動ロボットの進行方向を基準にして発信器までの距離Ｚ及び方向θを取得できる手段であれば、どのような手段を用いてもよい。
【００５６】
また、信号を発信する複数のビーコン２などの発信器に代えて、信号を発信しない複数のマーカを用いてもよい。マーカを用いる場合、ビーコン検出部１２に代えてマーカ検出部が用いられる。マーカ検出部は、各マーカに設けられた幾何学的な図形又は色の組み合わせを検出することにより、ビーコン検出部１２と同様に動作してもよい。幾何学的な図形又は色の組み合わせにマーカを識別するＩＤを含めてもよい。幾何学的な図形として、例えばＱＲコード（登録商標）を用いてもよい。
【００５７】
また、能動的に信号を発信するビーコン２に代えて、移動ロボットから発信される信号に応じて応答信号を発信するＲＦＩＤ素子を用いたマーカや、移動ロボットから発信される信号を反射する素子を用いたマーカが配置されてもよい。受動的な動作を行うマーカを用いる場合には、所定の信号を発信する発信器が移動ロボットに設けられる。このように、ビーコン２やマーカなどの被検出体は、移動ロボットの相対的な位置を検出できるものであればよい。
【００５８】
また、本実施形態では、ビーコン検出部１２は、ビーコン選択部から入力されるビーコンＩＤのビーコン２を検出する動作を説明した。しかし、ビーコン検出部１２は、検出した全てのビーコン２のビーコン情報をそれぞれ算出し、算出した各ビーコン情報を制御部へ出力してもよい。この場合、ビーコン選択部は、ビーコン選択部１３２から出力される指示に基づいて、複数のビーコン情報から目標とするビーコン２のビーコン情報を選択する。
【００５９】
また、上述の移動ロボットは内部に、コンピュータシステムを有していてもよい。その場合、移動ロボットに備えられる制御部が行う処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、各機能部の処理が行われることになる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【００６０】
なお、上記の実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【産業上の利用可能性】
【００６１】
本発明は、複数のビーコンに基づいて移動する際の移動距離を削減することが不可欠な用途にも適用できる。
【符号の説明】
【００６２】
１，５…移動ロボット、２…ビーコン（被検出体）、１１…駆動部、１２…ビーコン検出部（検出部）、１３…制御部、５４１，５４２…検出センサ
【図１】
2018013962.tif 000003
【図２】
2018013962.tif 000004
【図３】
2018013962.tif 000005
【図４】
2018013962.tif 000006
【図５】
2018013962.tif 000007
【図６】
2018013962.tif 000008
【図７】
2018013962.tif 000009
【図８】
2018013962.tif 000010
【図９】
2018013962.tif 000011
【図１０】
2018013962.tif 000012
【図１１】
2018013962.tif 000013
【図１２】
2018013962.tif 000014
【図１３】
2018013962.tif 000015
【図１４】
2018013962.tif 000016