(57)【要約】【課題】距離計測部を用いて高精度に位置決めを行う。【解決手段】距離計測部の計測結果を用いて目標地点に対する相対位置と相対方向を検出し、その相対方向と相対位置を用いて目標地点に対して位置決めする。【選択図】図１
2011002880.tif 000002
【特許請求の範囲】
【請求項１】
移動するための移動機能部を備えた移動ロボットであって、
周辺物体までの距離と方向を計測する距離計測部と、
前記距離計測部が計測した周辺物体までの距離と方向を用いて目標物体の停止地点に対する当該移動ロボットの相対位置と相対方向を検出する相対姿勢検出部と、
前記相対位置と前記相対方向を用いて、前記移動機能部を制御する制御部と、
を備え、
前記相対姿勢検出部は、
前記目標物体を特定する線分を求めることにより、前記相対位置と前記相対方向を検出する
ことを特徴とする移動ロボット。
【請求項２】
移動するための移動機能部を備えた移動ロボットであって、
周辺物体までの距離と方向を計測する距離計測部と、
前記距離計測部が計測した周辺物体までの距離を用いて目標物体の停止地点に対する当該移動ロボットの相対位置と相対方向を検出する相対姿勢検出部と、
前記相対位置と前記相対方向を用いて、前記移動機能部を制御し、前記停止地点に当該移動ロボットを位置決めする制御部と、
を備え、
前記相対姿勢検出部は、
前記目標物体の複数の特徴点を求めることにより、前記相対位置と前記相対方向を検出する
ことを特徴とする移動ロボット。
【請求項３】
前記目標物体は、凹形状または凸形状を有し、
前記相対姿勢検出部は、前記計測した複数の距離と方向のデータを用いて、前記線分を求める
ことを特徴とする請求項１記載の移動ロボット。
【請求項４】
前記目標物体は、凹形状または凸形状を有し、
前記相対姿勢検出部は、複数の頂点あるいは角の点を前記特徴点として求める
ことを特徴とする請求項２記載の移動ロボット。
【請求項５】
前記距離計測部を複数備え、
前記相対姿勢検出部は、
各前記距離計測部の計測結果を用いて前記相対位置と前記相対方向を検出する
ことを特徴とする請求項１から請求項４までのいずれか１項に記載の移動ロボット。
【請求項６】
前記相対姿勢検出部は、
前記距離計測部の計測結果を用いて前記目標物体の形状の線分部分を複数検出し、
その複数の線分部分の座標情報を用いて前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する
ことを特徴とする請求項１または請求項２記載の移動ロボット。
【請求項７】
前記相対姿勢検出部は、
凹形状または凸形状を有する前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する際に、
前記距離計測部の計測結果を用いて前記目標地点の凹形状の底部の線分部分または凸形状の頂部の線分部分を検出し、
その線分部分の座標情報を用いて前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する
ことを特徴とする請求項１または請求項２記載の移動ロボット。
【請求項８】
前記相対姿勢検出部は、
凹形状または凸形状を有する前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する際に、
前記距離計測部の計測結果を用いて前記目標地点の凹形状の側部の線分部分または凸形状の側部の線分部分を検出し、
その線分部分の座標情報を用いて前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する
ことを特徴とする請求項１または請求項２記載の移動ロボット。
【請求項９】
前記距離計測部は、
前記目標地点までの距離と方向を複数の方向について計測し、
前記相対姿勢検出部は、
前記方向に対する前記距離が極大となる点または前記方向と前記距離との相関関係の連続性が途切れる点が前記目標地点の形状の端部に相当すると判定し、
その端部の座標を用いて前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する
ことを特徴とする請求項１から請求項８までのいずれか１項に記載の移動ロボット。
【請求項１０】
前記相対姿勢検出部は、
前記端部の座標を用いて前記目標地点の形状の線分部分を検出し、
その線分部分の座標を用いて前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する
ことを特徴とする請求項９記載の移動ロボット。
【請求項１１】
前記相対姿勢検出部は、
前記目標地点の形状の端部の絶対座標情報を取得し、
その絶対座標情報を用いて前記距離計測部の計測結果を補正する
ことを特徴とする請求項１から請求項１０までのいずれか１項に記載の移動ロボット。
【請求項１２】
前記相対姿勢検出部は、
前記目標地点の形状の２つの端部間の距離情報を取得し、
その距離情報を用いて前記距離計測部の計測結果を補正する
ことを特徴とする請求項１から請求項１１までのいずれか１項に記載の移動ロボット。
【請求項１３】
移動するための移動機能部を備えた移動ロボットであって、
前記移動機能部を制御する制御部と、
周辺物体までの距離と方向を計測する距離計測部と、
計測した前記距離と方向を、当該移動ロボットが移動する領域の地図と照合して、移動ロボットの位置と方向を同定する地図上姿勢検出部と、
前記距離計測部が計測した周辺物体までの距離と方向を用いて目標物体の停止地点に対する当該移動ロボットの相対位置と相対方向を検出する相対姿勢検出部と、
を備え、
前記制御部は、
前記目標物体に接近するとき、前記地図上姿勢検出部で検出した距離と方向を用いて当該ロボットを制御する方法から、前記相対姿勢検出部で検出した相対位置と相対方向を用いて当該ロボットを制御する方法に切り替えることを
ことを特徴とする移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動機能部を備えたロボットに関するものである。
【背景技術】
【０００２】
従来、移動ロボットが距離センサを用いて自己位置を検出する方法として、いくつかの方法が提案されている。
【０００３】
例えば、下記特許文献１には、レーザ距離センサ（ＬＲＳ：Ｌａｓｅｒ  Ｒａｎｇｅ  Ｓｅｎｓｏｒ）と地図を用いて、自己位置を検出（補正）する方法が記載されている。具体的には、特許文献１の図１３に記載されているように、地図と距離データを照合し、その誤差が最小となるロボットの位置と方向を同定する。
【０００４】
また、下記特許文献２には、環境認識センサ（例えば、レーザ距離センサ）を用いて予め教示されたノード特徴データを登録しておき、これを用いて地図と測定データの誤差の補正量を求める方法が述べられている。具体的には、ノード特徴データの一部を切り出して生成した目標対象物教示モデルと環境認識センサの計測データ情報を用いて逐次マッチングを行い、補正量を求める。この方法は、一般的な形状の周囲物体との位置関係を指定することにより位置同定を行うので、位置決めを簡単化することができる。
【０００５】
下記特許文献３には、凹凸パターンを二値化して隣り合うベクトルＶを比較して、一致する単位ベクトルが所定の数以上あるときに、物体の表面線がそのベクトルＶにあるものと特定することが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２５０９０６号公報
【特許文献２】特開２００９−７０３１５号公報
【特許文献３】特開２００６−１４６３８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記特許文献１〜２に記載されている技術では、地図データに誤差が含まれている場合に、その影響でロボットの位置検出や姿勢検出の精度が低下する可能性がある。
【０００８】
上記特許文献３に記載されている技術では、距離センサの出力にノイズがあるとき、その影響により、物体とロボットとの相対位置、相対姿勢の精度が低下する可能性がある。
【０００９】
本発明は、上記のような課題を解決するためになされたものであり、距離計測部を用いて高精度に位置決めを行うことを目的とする。また、地図データを用いることにより、その領域を任意に移動する移動ロボットでありながら、高い位置決め精度を得ることも目的としている。
【課題を解決するための手段】
【００１０】
本発明に係る移動ロボットは、距離計測部の計測結果を用いて目標物体の停止地点（目標地点）に対する相対位置と相対方向を検出し、その相対方向と相対位置を用いて目標地点に対して位置決めする。
【００１１】
また、本発明に係る移動ロボットは、地図と照合してロボットの位置と方向を同定しながら移動し、目標物体に接近したとき、目標地点に対する相対位置と相対位置を検出し、それに基づいて、目標地点に位置決めする。
【発明の効果】
【００１２】
本発明に係る移動ロボットは、距離計測部を用いて目標地点に対する相対位置と相対方向を検出することにより、目標地点に対する相対姿勢を検出することができる。これにより、地図データに誤差が含まれている場合や、地図データが提供されない場合でも、目標地点に対して精度良く位置決めすることができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係る移動ロボット１の機能ブロック図である。
【図２】移動ロボット１が目標地点１０に対して位置決めした状態を示す図である。
【図３】距離計測部３の計測結果を２次元グラフ上に表したものである。
【図４】相対姿勢検出部４の動作フローである。
【図５】移動ロボット１が位置決めを行う過程を示す図である。
【図６】実施の形態２における相対姿勢検出部４の動作フローである。
【図７】実施の形態３に係る移動ロボット１の機能ブロック図である。
【図８】実施の形態３における相対姿勢検出部４の動作フローである。
【図９】実施の形態４に係る移動ロボット１の機能ブロック図である。
【図１０】実施の形態４における距離計測部３ｂの計測結果を２次元グラフ上に表したものである。
【図１１】実施の形態４における相対姿勢検出部４の動作フローである。
【図１２】実施の形態８に係る移動ロボット１の詳細機能ブロック図である。
【図１３】実施の形態９に係る移動ロボット１ａ、１ｂの状態を示す図である。
【図１４】実施の形態９に係る相対姿勢検出部４の動作フローである。
【発明を実施するための形態】
【００１４】
（実施の形態１）
図１は、本発明の実施の形態１に係る移動ロボット１の機能ブロック図である。移動ロボット１は、目標地点（目標物体）１０に移動するとともに、その目標地点１０に対して所定の向きの相対姿勢をもって静止する、自律移動ロボットである。
【００１５】
ここでいう相対姿勢とは、目標地点１０に対する移動ロボット１の位置座標と方向を合わせたもの、もしくは目標地点１０の基準方向に対する移動ロボット１の向きをいう。以下では特に言及しない場合、目標地点１０の基準方向に対する移動ロボット１の向きを、移動ロボット１の姿勢と呼ぶ。
【００１６】
移動ロボット１は、車輪２ａ、２ｂ、２ｃ、２ｄ、距離計測部３、相対姿勢検出部４、ロボット制御部５、モータ制御部６を備える。
【００１７】
車輪２ａ〜２ｄは、移動ロボット１を移動させるための移動機能部である。ここでは４輪構成の例を示したが、車輪の数はこれに限られるものではない。なお、移動ロボット１は、車輪以外の移動手段を移動機能部として備えることもできる。
【００１８】
距離計測部３は、例えばレーザ距離センサを用いて構成され、距離計測部３の周辺に存在する物体と距離計測部３との間の距離、および距離計測部３の正面方向に対する角度を検出する。図１に示した例では、距離計測部３は、距離計測部３の正面方向（ｄ軸）に対して左右それぞれ９０°の範囲内で７．５°間隔でレーザを照射し、各方向に存在する物体と距離計測部３との間の距離を検出する。すなわち、距離計測部３は、移動ロボット１の周辺に存在する物体と移動ロボット１の間の距離と角度を検出することができる。
【００１９】
相対姿勢検出部４は、距離計測部３の検出結果を用いて、移動ロボット１の相対姿勢を検出する。
【００２０】
ロボット制御部５は、相対姿勢検出部４の検出結果を用いて、目標地点１０に対して所定の相対姿勢で移動ロボット１を位置決めする。ここでいう位置決めとは、目標地点１０に対して移動ロボット１の座標と向きを定めることをいう。座標と向きの双方を定める点が、単なる目標地点への移動とは異なる。
【００２１】
モータ制御部６は、ロボット制御部５の指示にしたがって各車輪２ａ〜２ｄが備えるモータ（図示せず）を駆動し、移動ロボット１を移動させる。
【００２２】
本発明における「制御部」は、ロボット制御部５が相当する。相対姿勢検出部４、ロボット制御部５、モータ制御部６は、これらの機能を実現する回路デバイスのようなハードウェアを用いて構成してもよいし、マイコンやＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のような演算装置とその動作を規定するソフトウェアを用いて構成してもよい。
【００２３】
以上、移動ロボット１の構成について説明した。次に、図１のその他の項目について説明する。
【００２４】
距離計測部３は、図１のｄ軸に対して左右９０°の範囲内でレーザを照射する。以下では図１のｄ軸を角度０°とし、レーザ照射方向に向かって右側の向きを−９０°、左側の向きを９０°とする。距離計測部３がレーザを照射する方向を角度β、距離計測部３から周辺物体までの距離をＬで表す。角度βと距離Ｌには、添字ｎ（１≦ｎ≦２５）を付与する。β１＝−９０°、β２５＝９０°とする。
【００２５】
図１において、移動ロボット１が移動する目標地点１０は、凹型の形状を有する。点Ｂは凹形状の底部の左端、点Ｃは底部の右端、点Ｏは点Ｂと点Ｃの中点である。以下の説明では、点Ｏを原点とし、点Ｂから点Ｃへ向かう直線方向をｘ軸、これと垂直な方向（点Ｏから移動ロボット１へ向かう方向）をｙ軸とする。
【００２６】
点Ａは、目標地点１０の凹形状の左上端部であり、点Ｂをｙ軸方向に向かって移動させた位置に存在する。点Ｄは、目標地点１０の凹形状の右上端部であり、点Ｃをｙ軸方向に向かって移動させた位置に存在する。
【００２７】
点Ａ〜点Ｂ間、点Ｂ〜点Ｃ間、点Ｃ〜点Ｄ間は、それぞれ直線状の壁で結ばれており、これら４点と各点を結ぶ壁によりコの字型の凹形状が形成されている。移動ロボット１は凹形状の内部に存在する点Ｚ（ｘｚ，ｙｚ）が距離計測部３の中心と重なるように移動しようとしている。
【００２８】
図２は、移動ロボット１が目標地点１０に移動して位置決めした状態を示す図である。移動ロボット１は、距離計測部３が点Ｚと重なるように移動するとともに、距離計測部３の正面方向（角度β＝０°）の方向がｙ軸と重なるように移動ロボット１の向きを定めた状態で静止する。すなわち、移動ロボット１は、目標地点１０に対する相対位置と相対姿勢をともに決定することを目標とする。
【００２９】
図３は、距離計測部３の計測結果を２次元グラフ上に表したものである。以下、図３のグラフについて説明する。
【００３０】
（角度β１〜角度β６まで）
この範囲では、距離計測部３が照射するレーザは、目標地点１０の壁に当たることなく遠方に向かう。目標地点１０から離れた位置に障害物等が存在する場合は、距離計測部３とその障害物との間の距離が、距離Ｌ１〜Ｌ６として検出される。
【００３１】
（角度β７〜角度β１１まで）
距離計測部３が照射するレーザの角度がβ７になった時点で、レーザは点Ａと点Ｂの間の壁に当たる。これにより、角度β７における検出距離Ｌ７は、距離Ｌ６から急激に下がる。以降、角度βが大きくなるにつれて、距離計測部３と壁との間の距離は大きくなるので、これに対応する検出距離Ｌも大きくなる。角度β１１（＝βｂ）の方向に照射されたレーザは、凹部の頂点Ｂに当たる。この時点で検出距離（Ｌ１１）は極大値をとる。
【００３２】
（角度β１２〜角度β１７まで）
距離計測部３のレーザ照射角度が角度β１２〜β１５の範囲では、レーザ照射角度が大きくなるにつれて、距離計測部３と、点Ｂ〜点Ｃの間の壁との間の距離が小さくなるので、検出距離Ｌ１２〜Ｌ１５もこれにともなって小さくなる。角度β１６〜β１７までは、レーザ照射角度が大きくなるにつれて、距離計測部３と、点Ｂ〜点Ｃの間の壁との間の距離が大きくなるので、検出距離Ｌ１６〜Ｌ１７もこれにともなって大きくなる。角度β１７の方向に照射されたレーザは、凹部の頂点Ｃの近傍に当たる。この時点で検出距離（Ｌ１７）は極大値をとる。
【００３３】
（角度β１８〜角度β２１まで）
この範囲では、距離計測部３が照射するレーザは、点Ｃと点Ｄの間の壁に当たる。レーザ照射角度が大きくなるにつれて、距離計測部３と、点Ｃ〜点Ｄの間の壁との間の距離が小さくなるので、検出距離Ｌ１８〜Ｌ２１もこれにともなって小さくなる。
【００３４】
（角度β２２〜角度β２５まで）
この範囲では、距離計測部３が照射するレーザは、目標地点１０の壁に当たることなく遠方に向かう。目標地点１０から離れた位置に障害物等が存在する場合は、距離計測部３とその障害物との間の距離が、距離Ｌ２２〜Ｌ２５として検出される。
【００３５】
以上、図３のグラフについて説明した。次に、移動ロボット１の目標地点１０に対する相対姿勢を検出する動作について説明する。
【００３６】
図４は、相対姿勢検出部４の動作フローである。以下、図４の各ステップについて説明する。
（図４：ステップＳ４００）
ロボット制御部５は、移動ロボット１が目標地点１０に近づいた時点などを契機に、相対姿勢検出部４に対して本動作フローを開始するよう指示する。相対姿勢検出部４は、ロボット制御部５の指示にしたがって、本動作フローを開始する。
【００３７】
（図４：ステップＳ４０１）
相対姿勢検出部４は、距離計測部３の検出結果（β１，Ｌ１）〜（βｎ，Ｌｎ）を取得する。ここでは、図１と図３で説明した凹形状の目標地点１０を想定する。
【００３８】
（図４：ステップＳ４０２）
相対姿勢検出部４は、距離計測部３の検出結果（β１，Ｌ１）〜（βｎ，Ｌｎ）のうち極大点に相当するものを特定する。図３で説明したグラフでは、（β１１，Ｌ１１）と（β１７，Ｌ１７）が相当する。
【００３９】
（図４：ステップＳ４０３）
相対姿勢検出部４は、移動ロボット１から見た上記極大点（点Ｂと点Ｃ）の検出距離とレーザ照射角度を用いて、点Ｏを原点としたこれらの点の座標を算出する。点Ｏの座標は点Ｂと点Ｃの中点として求めることができる。点Ｂと点Ｃの座標は、点Ｏの座標を基準として求めることができる。
【００４０】
（図４：ステップＳ４０４）
相対姿勢検出部４は、ステップＳ４０３の算出結果を用いて、点Ｏを原点とした、現時点における移動ロボット１の座標（ｘｒ，ｙｒ）を算出する。例えば、距離計測部３〜点Ｂを結ぶ直線と、距離計測部３〜点Ｃを結ぶ直線との交点の座標を、移動ロボット１の座標（ｘｒ，ｙｒ）とすることができる。
【００４１】
（図４：ステップＳ４０５）
相対姿勢検出部４は、点Ｏの座標（ｘｒ，ｙｒ）と、距離計測部３の正面方向（角度β＝０°）との対応関係に基づき、目標地点１０に対する移動ロボット１の向き（相対姿勢）を算出する。この相対姿勢は、図１における角度αとして算出される。
【００４２】
以上、相対姿勢検出部４の動作フローについて説明した。以上の動作フローによって、目標地点１０に対する移動ロボット１の相対位置（ｘｒ，ｙｒ）と相対方向αが求められる。ロボット制御部５は、これに基づき、図２で例示したように移動ロボット１の位置決めを行う。
【００４３】
図５は、移動ロボット１が位置決めを行う過程を示す図である。ロボット制御部５は、相対姿勢検出部４の検出結果を用いて、移動ロボット１が目標地点１０の点Ｚ（ｘｚ，ｙｚ）に図２のような姿勢で静止するために必要な各車輪の移動軌跡を算出する。次に、ロボット制御部５は、その移動軌跡に基づきモータ制御部６に各車輪のモータの駆動指示を出力する。モータ制御部６は、その指示にしたがって各車輪のモータを駆動する。
【００４４】
図５に示す例では、まず後輪を大きく傾けて移動ロボット１の向きを調整し、移動ロボット１の向きが点Ｚに対して正面を向くにしたがって前輪と後輪の向きを徐々に正面に向けている。
【００４５】
以上のように、本実施の形態１では、まず距離計測部３が目標地点１０の周辺物体までの距離と角度を計測する。相対姿勢検出部４は、その計測結果を用いて図３のようなグラフを内部的に作成し、その極大点を用いて、目標地点１０の形状の端部（図３の例では点Ａ〜点Ｄ）を検出する。相対姿勢検出部４は、これを用いて移動ロボット１の相対位置（ｘｒ，ｙｒ）と相対方向αを検出する。
【００４６】
これにより、相対姿勢検出部４は移動ロボット１の位置と姿勢を併せて検出することができるので、目標地点１０に対して正確な位置決めを行うことができる。特に、目標地点１０周辺の地図データに誤差が含まれている場合や、地図データが与えられないような場合において、距離計測部３の実際の計測結果を用いて位置決めを行うことができる点で、本手法は有効である。
【００４７】
また、本実施の形態１では、目標地点１０の周辺に移動ロボット１が到達したときなどを契機として、距離計測部３の計測結果を用いて移動ロボット１の相対位置（ｘｒ，ｙｒ）と相対方向αを検出する。
【００４８】
これにより、目標地点１０の地図データに誤差が含まれている場合、あるいは地図データが与えられていない場合でも、目標地点１０周辺の実際の計測結果に基づき、目標地点１０に対して正確な位置決めを行うことができる。
【００４９】
（実施の形態２）
本発明の実施の形態２では、移動ロボット１の相対位置（ｘｒ，ｙｒ）と相対方向αを算出する別手順を説明する。移動ロボット１の構成および目標地点１０の形状は、実施の形態１と同様である。
【００５０】
図６は、本実施の形態２における相対姿勢検出部４の動作フローである。以下、図６の各ステップについて説明する。
（図６：ステップＳ６００）〜（図６：ステップＳ６０２）
これらのステップは、図４のステップＳ４００〜Ｓ４０２と同様である。
【００５１】
（図６：ステップＳ６０３）
相対姿勢検出部４は、移動ロボット１から見た上記極大点（点Ｂと点Ｃ）を基に、角度β７〜β１１までの距離Ｌ７〜Ｌ１１を用いて、線分ＡＢの方程式を直線近似により算出する。同様に、角度β１２〜β１７までの距離Ｌ１２〜Ｌ１７を用いて線分ＢＣの方程式を、角度β１８〜β２１までの距離Ｌ１８〜Ｌ２１を用いて線分ＣＤの方程式を、それぞれ直線近似により求める。このようにすることで、距離Ｌのデータにノイズ等の誤差を含んでいても、複数の距離データを用いて、線分の方程式を算出するので、誤差の影響を大幅に低減することができる。次に、精度の高いこれらの線分の方程式を用いて、目標地点１０の凹形状を求める。つまり、線分の方程式から、点Ｂと点Ｃの座標を精度よく検出する。点Ｏの座標は点Ｂと点Ｃの中点として求めることができる。このように、移動ロボット１と目標地点１０との相対位置及び相対方向を、距離計測部３のノイズの影響を受けにくくしながら精度よく検出する。また、極大点とみなした角度β７の距離Ｌ７は線分ＡＢ上のデータか、線分ＢＣ上のデータか判断できない可能性があるので、線分ＡＢの方程式を算出する際、角度β７〜β１０までの距離Ｌ７〜Ｌ１０を用いる方法を採用すると、さらに、高精度化を図ることができる。同様に、極大点とみなした角度β１７についても、線分ＢＣか、線分ＣＤか、判断できないので、線分ＢＣの方程式を算出する際、用いないこととする。従って、線分ＢＣの方程式は、角度β１２〜β１６までの距離Ｌ１２〜Ｌ１６を用いる。このようにすることで、さらに、線分の方程式の精度を向上できるので、移動ロボット１と目標地点１０の相対位置を正確に検出できる。
【００５２】
（図６：ステップＳ６０４）
相対姿勢検出部４は、ステップＳ６０３の算出結果を用いて、点Ｏを原点とした、現時点における移動ロボット１の座標（ｘｒ，ｙｒ）を算出する。算出手法は、例えば図４のステップＳ４０４と同様でよい。
【００５３】
（図６：ステップＳ６０５）
本ステップは、図４のステップＳ４０５と同様である。
【００５４】
以上、本実施の形態２における相対姿勢検出部４の動作フローを説明した。
【００５５】
以上のように、本実施の形態２では、点Ａ〜点Ｄの座標に加えて、線分ＡＢ、線分ＢＣ、線分ＣＤの方程式が得られているので、目標地点１０の凹形状が判明していると言うことができる。
【００５６】
これにより、ロボット制御部５は、この凹形状の情報を用いて、移動ロボット１が各線分と衝突しないように移動軌跡を算出することができる。すなわち、点Ａ〜点Ｄの座標のみ判明している実施の形態１と比較して、移動ロボット１の位置決めを正確に行うのみならず、より適切に移動軌跡を算出することができる。
【００５７】
なお、目標地点の形状の線分部分を検出し、移動ロボット１の移動軌跡がこの線分部分と重ならないようにする手法は、他の実施の形態においても用いることができることを付言しておく。
【００５８】
（実施の形態３）
本発明の実施の形態３では、移動ロボット１が距離計測部３を複数備える構成と動作例を説明する。距離計測部３を複数備えることにより、距離検出部３の検出誤差を補償してより精度良く位置決めを行うことを図る。
【００５９】
図７は、本実施の形態３に係る移動ロボット１の機能ブロック図である。本実施の形態３に係る移動ロボット１は、前面に２つの距離計測部３ａ、３ｂを備える。その他の構成は実施の形態１〜２と同様である。本実施の形態３では、距離計測部３ａの正面方向をｄａ軸、距離計測部３ｂの正面方向をｄｂ軸とする。また、移動ロボット１の位置は、移動ロボット１の中心点Ｒを基準とする。
【００６０】
なお、本実施の形態３における移動ロボット１の目標地点２０は、実施の形態１〜２と同様に凹形状を有するが、レーザ照射方向に向かって点Ａの右方と点Ｄの左方にはそれぞれ左右方向に延設された壁が存在している。
【００６１】
図８は、本実施の形態３における相対姿勢検出部４の動作フローである。以下、図８の各ステップについて説明する。
（図８：ステップＳ８００）
本ステップは、図４のステップＳ４００と同様である。
【００６２】
（図８：ステップＳ８０１）
相対姿勢検出部４は、距離計測部３ａの検出結果（βａ１，Ｌａ１）〜（βａｎ，Ｌａｎ）を取得する。
【００６３】
（図８：ステップＳ８０２）
相対姿勢検出部４は、距離計測部３ｂの検出結果（βｂ１，Ｌｂ１）〜（βｂｎ，Ｌｂｎ）を取得する。
【００６４】
（図８：ステップＳ８０３）
相対姿勢検出部４は、図４のステップＳ４０２〜Ｓ４０３と同様の手法により、点Ａ〜点Ｄの座標を求める。または、図６のステップＳ６０２〜Ｓ６０３と同様の手法により、線分ＡＢ、線分ＢＣ、線分ＣＤの方程式を求める。次に、相対姿勢検出部４は、その算出結果を用いて、図７の三角形ＢＣＺａの各辺の方程式を求める。
【００６５】
（図８：ステップＳ８０４）
相対姿勢検出部４は、ステップＳ８０３と同様の手法により、図７の三角形ＢＣＺｂの各辺の方程式を求める。
【００６６】
（図８：ステップＳ８０５）
相対姿勢検出部４は、ステップＳ８０３〜Ｓ８０４の結果を用いて、点Ｏを原点とした、現時点における移動ロボット１の座標（ｘｒ，ｙｒ）を算出する。算出手法は、例えば図４のステップＳ４０４や図６のステップＳ６０４と同様でよい。なお、三角形ＢＣＺａを用いて算出した座標（ｘｒ，ｙｒ）と、三角形ＢＣＺｂを用いて算出した座標（ｘｒ，ｙｒ）とが異なる場合には、例えば両者の平均値をとって、最終的な座標（ｘｒ，ｙｒ）としてもよい。これにより、距離計測部３ａと３ｂの計測結果に誤差が含まれている場合であっても、これを補償することができる。
【００６７】
（図８：ステップＳ８０６）
本ステップは、図４のステップＳ４０５と同様である。
【００６８】
以上、本実施の形態３における相対姿勢検出部４の動作フローを説明した。なお、距離計測部の個数は３つ以上であってもよい。距離計測部を配置する位置は、必ずしも移動ロボット１の前面でなくともよいが、前方方向に対して位置決めを行う場合は前面に距離計測部を配置するほうが便宜である。
【００６９】
以上のように、本実施の形態３に係る移動ロボット１は、２つの距離計測部３ａ、３ｂを備え、相対姿勢検出部４は、これらの計測結果を用いて、目標地点２０に対する移動ロボット１の相対姿勢を検出する。
【００７０】
これにより、２つの距離計測部３ａ、３ｂの検出結果に誤差が含まれていても、両者の平均を取るなどの手法により、誤差を補償することができるので、より正確な位置決めを行うことができる。
【００７１】
（実施の形態４）
本発明の実施の形態４では、移動ロボット１の目標地点の形状が実施の形態１〜３とは異なる例を説明する。なお、図９は、本実施の形態４に係る移動ロボット１の機能ブロック図である。本実施の形態４に係る移動ロボット１は、実施の形態１〜３いずれかと同様の構成を備える。図９では、実施の形態３と同様の構成を用いた例を示した。
【００７２】
なお、本実施の形態４における移動ロボット１の目標地点３０は、凸形状を有する。点Ａ〜点Ｄを結ぶ線分が凸形状の頂部である。
【００７３】
図１０は、本実施の形態４における距離計測部３ｂの計測結果を２次元グラフ上に表したものである。以下、図１０のグラフについて説明する。
（角度β１〜角度β９まで）
この範囲では、距離計測部３が照射するレーザは、目標地点３０の壁に当たることなく遠方に向かう。目標地点３０から離れた位置に障害物等が存在する場合は、距離計測部３とその障害物との間の距離が、距離Ｌ１〜Ｌ９として検出される。
【００７４】
（角度β１０〜角度β１５まで）
距離計測部３が照射するレーザの角度がβ１０になった時点で、レーザは点Ａと点Ｄの間の壁に当たる。これにより、角度β１０における検出距離Ｌ１０は、距離Ｌ９から急激に下がる。以降、角度βが大きくなるにつれて、距離計測部３ｂと壁との間の距離は小さくなるので、これに対応する検出距離Ｌも小さくなる。
【００７５】
（角度β１６〜角度β２３まで）
この範囲では、レーザ照射角度が大きくなるにつれて、距離計測部３と、点Ａ〜点Ｄの間の壁との間の距離が大きくなるので、検出距離Ｌ１６〜Ｌ２３もこれにともなって大きくなる。
【００７６】
（角度β２４〜角度β２５まで）
この範囲では、距離計測部３が照射するレーザは、目標地点１０の壁に当たることなく遠方に向かう。目標地点１０から離れた位置に障害物等が存在する場合は、距離計測部３とその障害物との間の距離が、距離Ｌ２４〜Ｌ２５として検出される。
【００７７】
図１１は、本実施の形態４における相対姿勢検出部４の動作フローである。以下、図１１の各ステップについて説明する。
（図１１：ステップＳ１１００）
本ステップは、図４のステップＳ４００と同様である。
【００７８】
（図１１：ステップＳ１１０１）〜（図１１：ステップＳ１１０２）
これらのステップは、図１のステップＳ８０１〜Ｓ８０２と同様である。
【００７９】
（図１１：ステップＳ１１０３）
相対姿勢検出部４は、距離計測部３ａ、３ｂの計測結果を用いて、移動ロボット１の目標地点３０に対する相対方向αを検出する。例えば、図１０のグラフにおいて、レーザ照射角度βと検出距離Ｌの相対関係の連続性が途切れている点（点Ａ、点Ｄ）の座標を用いて線分ＡＤを算出し、線分ＡＤに対する各距離計測部の正面方向の傾きを相対方向αとみなす、といった手法が考えられる。
【００８０】
（図１１：ステップＳ１１０４）
相対姿勢検出部４は、例えば図６のステップＳ６０２〜Ｓ６０３と同様の手法により、線分ＡＢ、線分ＢＣ、線分ＣＤの方程式を求める。次に、相対姿勢検出部４は、その算出結果を用いて、図１０の三角形ＡＤＺａの各辺の方程式を求める。
【００８１】
（図１１：ステップＳ１１０５）
相対姿勢検出部４は、ステップＳ１１０５と同様の手法により、図１０の三角形ＡＤＺｂの各辺の方程式を求める。
【００８２】
（図１１：ステップＳ１１０６）
相対姿勢検出部４は、ステップＳ１１０４〜Ｓ１１０５の結果を用いて、点Ｏを原点とした、現時点における移動ロボット１の座標（ｘｒ，ｙｒ）を算出する。算出手法は、例えば図４のステップＳ４０４や図６のステップＳ６０４と同様でよい。なお、三角形ＡＤＺａを用いて算出した座標（ｘｒ，ｙｒ）と、三角形ＡＤＺｂを用いて算出した座標（ｘｒ，ｙｒ）とが異なる場合には、例えば両者の平均値をとって、最終的な座標（ｘｒ，ｙｒ）としてもよい。これにより、距離計測部３ａと３ｂの計測結果に誤差が含まれている場合でも、これを補償することができる。
【００８３】
以上、本実施の形態４では、移動ロボット１の目標地点３０が凸形状である場合の動作例を説明した。
【００８４】
（実施の形態５）
以上の実施の形態１〜４では、目標地点の底部（線分ＢＣ）または頂部（線分ＡＤ）の座標を用いて、移動ロボット１の相対位置（ｘｒ，ｙｒ）と相対方向αを検出する例を説明した。一方、目標地点の側部（線分ＡＢ、線分ＣＤ）の座標を用いて、同様の処理を行うこともできる。この場合の検出手法は、検出する対象となる線分が異なるのみで、実質的には実施の形態１〜４で説明した手法と同様である。
【００８５】
ただし、移動ロボット１と目標地点の位置関係によっては、側部の線分を検出することができない場合もある。例えば、図１０の例では、線分ＡＢと線分ＣＤは距離計測部３ａ、３ｂ双方の死角に隠れているので、検出することができない。この場合は、線分ＡＤを用いて移動ロボット１の相対座標（ｘｒ，ｙｒ）と相対方向αを検出することになる。
【００８６】
同様に、移動ロボット１と目標地点の位置関係により、目標地点の側部（線分ＡＢ、線分ＣＤ）を検出することができない場合は、目標地点の底部（線分ＢＣ）または頂部（線分ＡＤ）を用いて移動ロボット１の相対座標（ｘｒ，ｙｒ）と相対方向αを検出することになる。
【００８７】
（実施の形態６）
以上の実施の形態１〜５において、目標地点の端部（例えば点Ａ〜点Ｄ）の絶対座標があらかじめ判明している場合は、これを用いて、距離計測部３の計測誤差を補償することができる。例えば、実施の形態１において、図３で説明した極大値を用いて点Ｂと点Ｃの座標を検出する場合を想定する。
【００８８】
ここでは仮に、点Ｂと点Ｃの絶対座標があらかじめ与えられており、図３に基づく点Ｂと点Ｃの座標検出結果と、あらかじめ与えられたこれらの点の絶対座標とが異なっているものとする。この場合、相対姿勢検出部４は、あらかじめ与えられている絶対座標と、その検出結果との差分を用いて、以後の検出結果を補償することができる。
【００８９】
同様に、目標地点の端部間の距離があらかじめ与えられている場合も、これを用いて、距離計測部３の計測誤差を補償することができる。
【００９０】
ここでは仮に、点Ｂと点Ｃの距離があらかじめ与えられており、図３に基づく点Ｂと点Ｃの座標検出結果から算出した両点間の距離が、あらかじめ与えられた両点間の距離と異なっているものとする。この場合、相対姿勢検出部４は、あらかじめ与えられている両点間の距離と、検出結果に基づき算出した両点間の距離との差分を用いて、以後の検出結果を補償することができる。
【００９１】
なお、目標地点の「端部」の座標または「端部」間の距離をあらかじめ取得しておくこととしたのは、距離計測部３の計測結果と、あらかじめ与えられた座標または距離との対応関係を相対姿勢検出部４が把握するためである。
【００９２】
例えば、図３における（β８，Ｌ８）の絶対座標（ｘ８，ｙ８）があらかじめ与えられていたとしても、相対姿勢検出部４は、距離計測部３の検出結果（Ｌ１，β１）〜（Ｌｎ，βｎ）のいずれが（ｘ８，ｙ８）に対応するのか、判断することができない。
【００９３】
一方、図３における（β１１，Ｌ１１）と（β１７，Ｌ１７）の絶対座標（ｘ１１，ｙ１１）と（ｘ１７，ｙ１７）があらかじめ与えられ、かつこれらが点Ｂ、点Ｃの座標であることが提示されている場合は、図３の極大点と点Ｂ、点Ｃを対応付けることができる。極大点が端部に対応することが明らかだからである。
【００９４】
したがって、本実施の形態６では、目標地点の端部の座標または端部間の距離をあらかじめ相対姿勢検出部４に与えておくこととした。
【００９５】
以上のように、本実施の形態６によれば、相対姿勢検出部４は、目標地点の端部の座標または端部間の距離をあらかじめ取得しておき、これを用いて距離計測部３の計測結果を補償する。これにより、位置決めの精度を向上させることができる。なお、あらかじめ与えられる座標や距離の情報が多いほど、補償に用いることのできる情報が増えるので、位置決めの精度をより向上させることができる。
【００９６】
（実施の形態７）
以上の実施の形態１〜６では、移動ロボット１が目標地点の近傍に存在している状態を前提として説明した。移動ロボット１が目標地点から離れている場合は、例えば以下の（制御手法１）〜（制御手法２）のような手法を用いることができる。
【００９７】
（制御手法１）目標地点の近傍までは地図データを用いる
移動ロボット１は、移動開始地点から目標地点までの道順を示す地図データをあらかじめ取得しておく。移動開始地点から目標地点の近傍までは、この地図データを用いて移動することができる。移動ロボットが目標地点の近傍に到着し、距離計測部３を用いて目標地点の形状を計測することができる段階に達した時点で、実施の形態１〜６で説明した手法を用いて、移動ロボット１の詳細な位置決めを行う。
【００９８】
（制御手法２）一般的な公知技術を用いる
移動ロボット１は、その他の任意の公知技術を用いて、移動開始地点から目標地点まで移動する。移動ロボットが目標地点の近傍に到着し、距離計測部３を用いて目標地点の形状を計測することができる段階に達した時点で、実施の形態１〜６で説明した手法を用いて、移動ロボット１の詳細な位置決めを行う。
【００９９】
（実施の形態８）
本発明の実施の形態８では、移動ロボット１の詳細構成について説明する。本実施の形態８で説明する構成は、実施の形態１〜７いずれにも適用することができる。なお、本実施の形態８では、前２輪が移動用として用いられることを想定する。方向制御は、４輪全てを用いて行われる。
【０１００】
図１２は、本実施の形態８に係る移動ロボット１の詳細機能ブロック図である。移動ロボット１は、図１で説明した構成の他に、移動モータ７ａと７ｂ、操舵モータ８ａ、８ｂ、８ｃ、８ｄを備える。
【０１０１】
移動モータ７ａ〜７ｂは、前輪を駆動して移動ロボット１を移動させる。
【０１０２】
操舵モータ８ａ〜８ｄは、各車輪を傾けて移動ロボット１の移動方向を定める。
【０１０３】
ロボット制御部５は、相対距離指令部５１、ロボット経路指令部５２、移動モータ速度指令部５３を備える。
【０１０４】
相対距離指令部５１は、相対姿勢検出部４より移動ロボット１の相対位置（ｘｒ，ｙｒ）を取得し、これを用いて目標地点（点Ｚ）までの移動距離を求め、移動モータ速度指令部５３に対し、目標相対距離指令ｍｒを出力する。
【０１０５】
ロボット経路指令部５２は、相対姿勢検出部４より移動ロボット１の相対位置（ｘｒ，ｙｒ）と相対方向αを取得し、これを用いて舵角指令値αａ〜αｄを算出し、モータ制御部６に出力する。また、左右輪差ｎを移動モータ速度指令部５３に出力する。
【０１０６】
移動モータ速度指令部５３は、目標相対距離指令ｍｒと左右輪差ｎを用いて、前輪の回転角速度指令値ωａ、ωｄを、モータ制御部６に出力する。
【０１０７】
モータ制御部６は、移動モータ制御部６１、舵角制御部６２を備える。
【０１０８】
移動モータ制御部６１は、回転角速度指令値ωａ、ωｄを受け取り、それぞれ移動モータ７ａ、７ｂに出力する。移動モータ７ａ、７ｂは、これらの指令値で指定された角速度で前輪を回転させる。
【０１０９】
舵角制御部６２は、舵角指令αａ〜αｄを受け取り、それぞれ操舵モータ８ａ〜８ｄに出力する。操舵モータ８ａ〜８ｄは、これらの指令値で指定された角度に各車輪を傾け、移動ロボット１の移動方向を定める。
【０１１０】
以上、本実施の形態８では、移動ロボット１の詳細構成例を説明した。本実施の形態８で説明した構成は１例であり、その他の構成をとることもできる。例えば、４輪全てを移動ロボット１の移動のために用いる場合は、移動モータ７は４つ必要である。同様に、角速度指令値ωは、４値必要である。
【０１１１】
（実施の形態９）
本発明の実施の形態９では、移動ロボット１ａ、１ｂを、作業領域７１の中で移動・作業を行う場合について図１３と図１４を用いて説明する。図１３において、移動ロボット１ａ、１ｂは作業領域７１の中を移動し、物体７４から物体７６を避けながら、目標地点７２の点Ｘ、目標地点７３の点Ｙ、及び、目標地点１０の点Ｚに到達し、位置決めを行うものである。移動ロボット１ａ、１ｂは図１４に示す動作フローに従い、ロボット姿勢検出演算を行い、自己の姿勢を検出し、目標地点まで移動する。以下、図１４の各ステップについて説明する。
【０１１２】
（図１４：ステップＳ１４００）〜（図１４：ステップＳ１４０１）
これらのステップは、図４のステップＳ４００〜Ｓ４０２と同様である。
【０１１３】
（図１４：ステップＳ１４０２）
このステップでは、ステップ１４０１で得られた距離データＬ１〜Ｌｎを、移動ロボット１ａ、１ｂがあらかじめ持っている作業領域７１の地図データと照合することにより、地図上における移動ロボットの姿勢を検出する。これを位置同定とよぶ。
【０１１４】
（図１４：ステップＳ１４０３）
同定した移動ロボットの位置が目標地点に接近したか否かを判断し、目標地点に接近したと判断した場合には、ステップ１４０４〜ステップ１４０６の演算を行う。図１３における移動ロボット１ａのように、そのロボットが目標としている目標地点１０の点Ｚに近づいているときがこれに相当する。
また、図１３における移動ロボット１ｂのように、目標地点に接近していないと判断した場合には、それらの演算を行うことなく、ロボット姿勢演算の処理を終了する。この場合には、ステップ１４０２で得られた位置同定結果に基づき、移動ロボット１ｂの制御を行う。これにより、作業領域７１の中を移動する。
【０１１５】
（図１４：ステップＳ１４０４）〜（図１４：ステップＳ１４０６）
ステップＳ１４０３で目標地点１０の点Ｚに移動ロボットが接近していると判断したときには、ステップ１４０４で目標地点の線分の方程式を求める。この方法はステップＳ６０２〜Ｓ６０３で述べた方法と同様である。次のステップＳ１４０５、Ｓ１４０６についても、それぞれステップＳ６０４、Ｓ６０５と同様に演算を行い、ロボットの相対位置、相対方向を計算する。以上の演算を行った後、ロボット姿勢検出演算を終了する。ステップＳ１４０４〜Ｓ１４０６の演算を行ったときには、ここで計算されたロボットの相対位置、相対方向を用いて、目標地点に位置決めする制御を行う。
以上、本実施の形態９では、移動ロボット１が目標地点に接近しているか否かを判断し、広範囲の目標地点間のスムーズな移動と、目標地点における高精度の位置決めを行うことができる。
【０１１６】
（実施の形態１０）
以上の実施の形態１〜９では、目標地点が凹形状または凸形状を有する例を説明した。本発明の適用対象は、これらの形状に限られるものではなく、その他の形状についても同様の手法を適用することができる。例えば、複雑な形状を有する目標地点の形状を直線形状で近似すれば、実質的には本発明と同様の手法を用いることができる。
【符号の説明】
【０１１７】
１：移動ロボット、２ａ〜２ｄ：車輪、３：距離計測部、４：相対姿勢検出部、５：ロボット制御部、６：モータ制御部、７ａ〜７ｂ：移動モータ、８ａ〜８ｄ：操舵モータ、１０：目標地点、５１：相対距離指令部、５２：ロボット経路指令部、５３：移動モータ速度指令部、６１：移動モータ制御部、６２：舵角制御部、７１：作業領域、７２〜７３：目標地点、７４〜７６：物体。
【図１】
2011002880.tif 000003
【図２】
2011002880.tif 000004
【図３】
2011002880.tif 000005
【図４】
2011002880.tif 000006
【図５】
2011002880.tif 000007
【図６】
2011002880.tif 000008
【図７】
2011002880.tif 000009
【図８】
2011002880.tif 000010
【図９】
2011002880.tif 000011
【図１０】
2011002880.tif 000012
【図１１】
2011002880.tif 000013
【図１２】
2011002880.tif 000014
【図１３】
2011002880.tif 000015
【図１４】
2011002880.tif 000016