説明

移動ロボット

【課題】距離計測部を用いて高精度に位置決めを行う。
【解決手段】周辺物体までの距離と方向を計測する距離計測部3と、前記距離計測部が計測した周辺物体までの距離と方向を用いて目標物体の停止地点に対する当該移動ロボットの相対位置と相対方向を検出する相対姿勢検出部4と、前記相対位置と前記相対方向を用いて、前記移動機能部を制御する制御部5と、を備え、前記相対姿勢検出部は、前記目標物体を特定する線分を求めることにより、前記相対位置と前記相対方向を検出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動機能部を備えたロボットに関するものである。
【背景技術】
【0002】
従来、移動ロボットが距離センサを用いて自己位置を検出する方法として、いくつかの方法が提案されている。
【0003】
例えば、下記特許文献1には、レーザ距離センサ(LRS:Laser Range Sensor)と地図を用いて、自己位置を検出(補正)する方法が記載されている。具体的には、特許文献1の図13に記載されているように、地図と距離データを照合し、その誤差が最小となるロボットの位置と方向を同定する。
【0004】
また、下記特許文献2には、環境認識センサ(例えば、レーザ距離センサ)を用いて予め教示されたノード特徴データを登録しておき、これを用いて地図と測定データの誤差の補正量を求める方法が述べられている。具体的には、ノード特徴データの一部を切り出して生成した目標対象物教示モデルと環境認識センサの計測データ情報を用いて逐次マッチングを行い、補正量を求める。この方法は、一般的な形状の周囲物体との位置関係を指定することにより位置同定を行うので、位置決めを簡単化することができる。
【0005】
下記特許文献3には、凹凸パターンを二値化して隣り合うベクトルVを比較して、一致する単位ベクトルが所定の数以上あるときに、物体の表面線がそのベクトルVにあるものと特定することが記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−250906号公報
【特許文献2】特開2009−70315号公報
【特許文献3】特開2006−146381号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記特許文献1〜2に記載されている技術では、地図データに誤差が含まれている場合に、その影響でロボットの位置検出や姿勢検出の精度が低下する可能性がある。
【0008】
上記特許文献3に記載されている技術では、距離センサの出力にノイズがあるとき、その影響により、物体とロボットとの相対位置、相対姿勢の精度が低下する可能性がある。
【0009】
本発明は、上記のような課題を解決するためになされたものであり、距離計測部を用いて高精度に位置決めを行うことを目的とする。また、地図データを用いることにより、その領域を任意に移動する移動ロボットでありながら、高い位置決め精度を得ることも目的としている。
【課題を解決するための手段】
【0010】
本発明に係る移動ロボットは、距離計測部の計測結果を用いて目標物体の停止地点(目標地点)に対する相対位置と相対方向を検出し、その相対方向と相対位置を用いて目標地点に対して位置決めする。
【0011】
また、本発明に係る移動ロボットは、地図と照合してロボットの位置と方向を同定しながら移動し、目標物体に接近したとき、目標地点に対する相対位置と相対位置を検出し、それに基づいて、目標地点に位置決めする。
【発明の効果】
【0012】
本発明に係る移動ロボットは、距離計測部を用いて目標地点に対する相対位置と相対方向を検出することにより、目標地点に対する相対姿勢を検出することができる。これにより、地図データに誤差が含まれている場合や、地図データが提供されない場合でも、目標地点に対して精度良く位置決めすることができる。
【図面の簡単な説明】
【0013】
【図1】実施の形態1に係る移動ロボット1の機能ブロック図である。
【図2】移動ロボット1が目標地点10に対して位置決めした状態を示す図である。
【図3】距離計測部3の計測結果を2次元グラフ上に表したものである。
【図4】相対姿勢検出部4の動作フローである。
【図5】移動ロボット1が位置決めを行う過程を示す図である。
【図6】実施の形態2における相対姿勢検出部4の動作フローである。
【図7】実施の形態3に係る移動ロボット1の機能ブロック図である。
【図8】実施の形態3における相対姿勢検出部4の動作フローである。
【図9】実施の形態4に係る移動ロボット1の機能ブロック図である。
【図10】実施の形態4における距離計測部3bの計測結果を2次元グラフ上に表したものである。
【図11】実施の形態4における相対姿勢検出部4の動作フローである。
【図12】実施の形態8に係る移動ロボット1の詳細機能ブロック図である。
【図13】実施の形態9に係る移動ロボット1a、1bの状態を示す図である。
【図14】実施の形態9に係る相対姿勢検出部4の動作フローである。
【発明を実施するための形態】
【0014】
(実施の形態1)
図1は、本発明の実施の形態1に係る移動ロボット1の機能ブロック図である。移動ロボット1は、目標地点(目標物体)10に移動するとともに、その目標地点10に対して所定の向きの相対姿勢をもって静止する、自律移動ロボットである。
【0015】
ここでいう相対姿勢とは、目標地点10に対する移動ロボット1の位置座標と方向を合わせたもの、もしくは目標地点10の基準方向に対する移動ロボット1の向きをいう。以下では特に言及しない場合、目標地点10の基準方向に対する移動ロボット1の向きを、移動ロボット1の姿勢と呼ぶ。
【0016】
移動ロボット1は、車輪2a、2b、2c、2d、距離計測部3、相対姿勢検出部4、ロボット制御部5、モータ制御部6を備える。
【0017】
車輪2a〜2dは、移動ロボット1を移動させるための移動機能部である。ここでは4輪構成の例を示したが、車輪の数はこれに限られるものではない。なお、移動ロボット1は、車輪以外の移動手段を移動機能部として備えることもできる。
【0018】
距離計測部3は、例えばレーザ距離センサを用いて構成され、距離計測部3の周辺に存在する物体と距離計測部3との間の距離、および距離計測部3の正面方向に対する角度を検出する。図1に示した例では、距離計測部3は、距離計測部3の正面方向(d軸)に対して左右それぞれ90°の範囲内で7.5°間隔でレーザを照射し、各方向に存在する物体と距離計測部3との間の距離を検出する。すなわち、距離計測部3は、移動ロボット1の周辺に存在する物体と移動ロボット1の間の距離と角度を検出することができる。
【0019】
相対姿勢検出部4は、距離計測部3の検出結果を用いて、移動ロボット1の相対姿勢を検出する。
【0020】
ロボット制御部5は、相対姿勢検出部4の検出結果を用いて、目標地点10に対して所定の相対姿勢で移動ロボット1を位置決めする。ここでいう位置決めとは、目標地点10に対して移動ロボット1の座標と向きを定めることをいう。座標と向きの双方を定める点が、単なる目標地点への移動とは異なる。
【0021】
モータ制御部6は、ロボット制御部5の指示にしたがって各車輪2a〜2dが備えるモータ(図示せず)を駆動し、移動ロボット1を移動させる。
【0022】
本発明における「制御部」は、ロボット制御部5が相当する。相対姿勢検出部4、ロボット制御部5、モータ制御部6は、これらの機能を実現する回路デバイスのようなハードウェアを用いて構成してもよいし、マイコンやCPU(Central Processing Unit)のような演算装置とその動作を規定するソフトウェアを用いて構成してもよい。
【0023】
以上、移動ロボット1の構成について説明した。次に、図1のその他の項目について説明する。
【0024】
距離計測部3は、図1のd軸に対して左右90°の範囲内でレーザを照射する。以下では図1のd軸を角度0°とし、レーザ照射方向に向かって右側の向きを−90°、左側の向きを90°とする。距離計測部3がレーザを照射する方向を角度β、距離計測部3から周辺物体までの距離をLで表す。角度βと距離Lには、添字n(1≦n≦25)を付与する。β1=−90°、β25=90°とする。
【0025】
図1において、移動ロボット1が移動する目標地点10は、凹型の形状を有する。点Bは凹形状の底部の左端、点Cは底部の右端、点Oは点Bと点Cの中点である。以下の説明では、点Oを原点とし、点Bから点Cへ向かう直線方向をx軸、これと垂直な方向(点Oから移動ロボット1へ向かう方向)をy軸とする。
【0026】
点Aは、目標地点10の凹形状の左上端部であり、点Bをy軸方向に向かって移動させた位置に存在する。点Dは、目標地点10の凹形状の右上端部であり、点Cをy軸方向に向かって移動させた位置に存在する。
【0027】
点A〜点B間、点B〜点C間、点C〜点D間は、それぞれ直線状の壁で結ばれており、これら4点と各点を結ぶ壁によりコの字型の凹形状が形成されている。移動ロボット1は凹形状の内部に存在する点Z(xz,yz)が距離計測部3の中心と重なるように移動しようとしている。
【0028】
図2は、移動ロボット1が目標地点10に移動して位置決めした状態を示す図である。移動ロボット1は、距離計測部3が点Zと重なるように移動するとともに、距離計測部3の正面方向(角度β=0°)の方向がy軸と重なるように移動ロボット1の向きを定めた状態で静止する。すなわち、移動ロボット1は、目標地点10に対する相対位置と相対姿勢をともに決定することを目標とする。
【0029】
図3は、距離計測部3の計測結果を2次元グラフ上に表したものである。以下、図3のグラフについて説明する。
【0030】
(角度β1〜角度β6まで)
この範囲では、距離計測部3が照射するレーザは、目標地点10の壁に当たることなく遠方に向かう。目標地点10から離れた位置に障害物等が存在する場合は、距離計測部3とその障害物との間の距離が、距離L1〜L6として検出される。
【0031】
(角度β7〜角度β11まで)
距離計測部3が照射するレーザの角度がβ7になった時点で、レーザは点Aと点Bの間の壁に当たる。これにより、角度β7における検出距離L7は、距離L6から急激に下がる。以降、角度βが大きくなるにつれて、距離計測部3と壁との間の距離は大きくなるので、これに対応する検出距離Lも大きくなる。角度β11(=βb)の方向に照射されたレーザは、凹部の頂点Bに当たる。この時点で検出距離(L11)は極大値をとる。
【0032】
(角度β12〜角度β17まで)
距離計測部3のレーザ照射角度が角度β12〜β15の範囲では、レーザ照射角度が大きくなるにつれて、距離計測部3と、点B〜点Cの間の壁との間の距離が小さくなるので、検出距離L12〜L15もこれにともなって小さくなる。角度β16〜β17までは、レーザ照射角度が大きくなるにつれて、距離計測部3と、点B〜点Cの間の壁との間の距離が大きくなるので、検出距離L16〜L17もこれにともなって大きくなる。角度β17の方向に照射されたレーザは、凹部の頂点Cの近傍に当たる。この時点で検出距離(L17)は極大値をとる。
【0033】
(角度β18〜角度β21まで)
この範囲では、距離計測部3が照射するレーザは、点Cと点Dの間の壁に当たる。レーザ照射角度が大きくなるにつれて、距離計測部3と、点C〜点Dの間の壁との間の距離が小さくなるので、検出距離L18〜L21もこれにともなって小さくなる。
【0034】
(角度β22〜角度β25まで)
この範囲では、距離計測部3が照射するレーザは、目標地点10の壁に当たることなく遠方に向かう。目標地点10から離れた位置に障害物等が存在する場合は、距離計測部3とその障害物との間の距離が、距離L22〜L25として検出される。
【0035】
以上、図3のグラフについて説明した。次に、移動ロボット1の目標地点10に対する相対姿勢を検出する動作について説明する。
【0036】
図4は、相対姿勢検出部4の動作フローである。以下、図4の各ステップについて説明する。
(図4:ステップS400)
ロボット制御部5は、移動ロボット1が目標地点10に近づいた時点などを契機に、相対姿勢検出部4に対して本動作フローを開始するよう指示する。相対姿勢検出部4は、ロボット制御部5の指示にしたがって、本動作フローを開始する。
【0037】
(図4:ステップS401)
相対姿勢検出部4は、距離計測部3の検出結果(β1,L1)〜(βn,Ln)を取得する。ここでは、図1と図3で説明した凹形状の目標地点10を想定する。
【0038】
(図4:ステップS402)
相対姿勢検出部4は、距離計測部3の検出結果(β1,L1)〜(βn,Ln)のうち極大点に相当するものを特定する。図3で説明したグラフでは、(β11,L11)と(β17,L17)が相当する。
【0039】
(図4:ステップS403)
相対姿勢検出部4は、移動ロボット1から見た上記極大点(点Bと点C)の検出距離とレーザ照射角度を用いて、点Oを原点としたこれらの点の座標を算出する。点Oの座標は点Bと点Cの中点として求めることができる。点Bと点Cの座標は、点Oの座標を基準として求めることができる。
【0040】
(図4:ステップS404)
相対姿勢検出部4は、ステップS403の算出結果を用いて、点Oを原点とした、現時点における移動ロボット1の座標(xr,yr)を算出する。例えば、距離計測部3〜点Bを結ぶ直線と、距離計測部3〜点Cを結ぶ直線との交点の座標を、移動ロボット1の座標(xr,yr)とすることができる。
【0041】
(図4:ステップS405)
相対姿勢検出部4は、点Oの座標(xr,yr)と、距離計測部3の正面方向(角度β=0°)との対応関係に基づき、目標地点10に対する移動ロボット1の向き(相対姿勢)を算出する。この相対姿勢は、図1における角度αとして算出される。
【0042】
以上、相対姿勢検出部4の動作フローについて説明した。以上の動作フローによって、目標地点10に対する移動ロボット1の相対位置(xr,yr)と相対方向αが求められる。ロボット制御部5は、これに基づき、図2で例示したように移動ロボット1の位置決めを行う。
【0043】
図5は、移動ロボット1が位置決めを行う過程を示す図である。ロボット制御部5は、相対姿勢検出部4の検出結果を用いて、移動ロボット1が目標地点10の点Z(xz,yz)に図2のような姿勢で静止するために必要な各車輪の移動軌跡を算出する。次に、ロボット制御部5は、その移動軌跡に基づきモータ制御部6に各車輪のモータの駆動指示を出力する。モータ制御部6は、その指示にしたがって各車輪のモータを駆動する。
【0044】
図5に示す例では、まず後輪を大きく傾けて移動ロボット1の向きを調整し、移動ロボット1の向きが点Zに対して正面を向くにしたがって前輪と後輪の向きを徐々に正面に向けている。
【0045】
以上のように、本実施の形態1では、まず距離計測部3が目標地点10の周辺物体までの距離と角度を計測する。相対姿勢検出部4は、その計測結果を用いて図3のようなグラフを内部的に作成し、その極大点を用いて、目標地点10の形状の端部(図3の例では点A〜点D)を検出する。相対姿勢検出部4は、これを用いて移動ロボット1の相対位置(xr,yr)と相対方向αを検出する。
【0046】
これにより、相対姿勢検出部4は移動ロボット1の位置と姿勢を併せて検出することができるので、目標地点10に対して正確な位置決めを行うことができる。特に、目標地点10周辺の地図データに誤差が含まれている場合や、地図データが与えられないような場合において、距離計測部3の実際の計測結果を用いて位置決めを行うことができる点で、本手法は有効である。
【0047】
また、本実施の形態1では、目標地点10の周辺に移動ロボット1が到達したときなどを契機として、距離計測部3の計測結果を用いて移動ロボット1の相対位置(xr,yr)と相対方向αを検出する。
【0048】
これにより、目標地点10の地図データに誤差が含まれている場合、あるいは地図データが与えられていない場合でも、目標地点10周辺の実際の計測結果に基づき、目標地点10に対して正確な位置決めを行うことができる。
【0049】
(実施の形態2)
本発明の実施の形態2では、移動ロボット1の相対位置(xr,yr)と相対方向αを算出する別手順を説明する。移動ロボット1の構成および目標地点10の形状は、実施の形態1と同様である。
【0050】
図6は、本実施の形態2における相対姿勢検出部4の動作フローである。以下、図6の各ステップについて説明する。
(図6:ステップS600)〜(図6:ステップS602)
これらのステップは、図4のステップS400〜S402と同様である。
【0051】
(図6:ステップS603)
相対姿勢検出部4は、移動ロボット1から見た上記極大点(点Bと点C)を基に、角度β7〜β11までの距離L7〜L11を用いて、線分ABの方程式を直線近似により算出する。同様に、角度β12〜β17までの距離L12〜L17を用いて線分BCの方程式を、角度β18〜β21までの距離L18〜L21を用いて線分CDの方程式を、それぞれ直線近似により求める。このようにすることで、距離Lのデータにノイズ等の誤差を含んでいても、複数の距離データを用いて、線分の方程式を算出するので、誤差の影響を大幅に低減することができる。次に、精度の高いこれらの線分の方程式を用いて、目標地点10の凹形状を求める。つまり、線分の方程式から、点Bと点Cの座標を精度よく検出する。点Oの座標は点Bと点Cの中点として求めることができる。このように、移動ロボット1と目標地点10との相対位置及び相対方向を、距離計測部3のノイズの影響を受けにくくしながら精度よく検出する。また、極大点とみなした角度β7の距離L7は線分AB上のデータか、線分BC上のデータか判断できない可能性があるので、線分ABの方程式を算出する際、角度β7〜β10までの距離L7〜L10を用いる方法を採用すると、さらに、高精度化を図ることができる。同様に、極大点とみなした角度β17についても、線分BCか、線分CDか、判断できないので、線分BCの方程式を算出する際、用いないこととする。従って、線分BCの方程式は、角度β12〜β16までの距離L12〜L16を用いる。このようにすることで、さらに、線分の方程式の精度を向上できるので、移動ロボット1と目標地点10の相対位置を正確に検出できる。
【0052】
(図6:ステップS604)
相対姿勢検出部4は、ステップS603の算出結果を用いて、点Oを原点とした、現時点における移動ロボット1の座標(xr,yr)を算出する。算出手法は、例えば図4のステップS404と同様でよい。
【0053】
(図6:ステップS605)
本ステップは、図4のステップS405と同様である。
【0054】
以上、本実施の形態2における相対姿勢検出部4の動作フローを説明した。
【0055】
以上のように、本実施の形態2では、点A〜点Dの座標に加えて、線分AB、線分BC、線分CDの方程式が得られているので、目標地点10の凹形状が判明していると言うことができる。
【0056】
これにより、ロボット制御部5は、この凹形状の情報を用いて、移動ロボット1が各線分と衝突しないように移動軌跡を算出することができる。すなわち、点A〜点Dの座標のみ判明している実施の形態1と比較して、移動ロボット1の位置決めを正確に行うのみならず、より適切に移動軌跡を算出することができる。
【0057】
なお、目標地点の形状の線分部分を検出し、移動ロボット1の移動軌跡がこの線分部分と重ならないようにする手法は、他の実施の形態においても用いることができることを付言しておく。
【0058】
(実施の形態3)
本発明の実施の形態3では、移動ロボット1が距離計測部3を複数備える構成と動作例を説明する。距離計測部3を複数備えることにより、距離検出部3の検出誤差を補償してより精度良く位置決めを行うことを図る。
【0059】
図7は、本実施の形態3に係る移動ロボット1の機能ブロック図である。本実施の形態3に係る移動ロボット1は、前面に2つの距離計測部3a、3bを備える。その他の構成は実施の形態1〜2と同様である。本実施の形態3では、距離計測部3aの正面方向をda軸、距離計測部3bの正面方向をdb軸とする。また、移動ロボット1の位置は、移動ロボット1の中心点Rを基準とする。
【0060】
なお、本実施の形態3における移動ロボット1の目標地点20は、実施の形態1〜2と同様に凹形状を有するが、レーザ照射方向に向かって点Aの右方と点Dの左方にはそれぞれ左右方向に延設された壁が存在している。
【0061】
図8は、本実施の形態3における相対姿勢検出部4の動作フローである。以下、図8の各ステップについて説明する。
(図8:ステップS800)
本ステップは、図4のステップS400と同様である。
【0062】
(図8:ステップS801)
相対姿勢検出部4は、距離計測部3aの検出結果(βa1,La1)〜(βan,Lan)を取得する。
【0063】
(図8:ステップS802)
相対姿勢検出部4は、距離計測部3bの検出結果(βb1,Lb1)〜(βbn,Lbn)を取得する。
【0064】
(図8:ステップS803)
相対姿勢検出部4は、図4のステップS402〜S403と同様の手法により、点A〜点Dの座標を求める。または、図6のステップS602〜S603と同様の手法により、線分AB、線分BC、線分CDの方程式を求める。次に、相対姿勢検出部4は、その算出結果を用いて、図7の三角形BCZaの各辺の方程式を求める。
【0065】
(図8:ステップS804)
相対姿勢検出部4は、ステップS803と同様の手法により、図7の三角形BCZbの各辺の方程式を求める。
【0066】
(図8:ステップS805)
相対姿勢検出部4は、ステップS803〜S804の結果を用いて、点Oを原点とした、現時点における移動ロボット1の座標(xr,yr)を算出する。算出手法は、例えば図4のステップS404や図6のステップS604と同様でよい。なお、三角形BCZaを用いて算出した座標(xr,yr)と、三角形BCZbを用いて算出した座標(xr,yr)とが異なる場合には、例えば両者の平均値をとって、最終的な座標(xr,yr)としてもよい。これにより、距離計測部3aと3bの計測結果に誤差が含まれている場合であっても、これを補償することができる。
【0067】
(図8:ステップS806)
本ステップは、図4のステップS405と同様である。
【0068】
以上、本実施の形態3における相対姿勢検出部4の動作フローを説明した。なお、距離計測部の個数は3つ以上であってもよい。距離計測部を配置する位置は、必ずしも移動ロボット1の前面でなくともよいが、前方方向に対して位置決めを行う場合は前面に距離計測部を配置するほうが便宜である。
【0069】
以上のように、本実施の形態3に係る移動ロボット1は、2つの距離計測部3a、3bを備え、相対姿勢検出部4は、これらの計測結果を用いて、目標地点20に対する移動ロボット1の相対姿勢を検出する。
【0070】
これにより、2つの距離計測部3a、3bの検出結果に誤差が含まれていても、両者の平均を取るなどの手法により、誤差を補償することができるので、より正確な位置決めを行うことができる。
【0071】
(実施の形態4)
本発明の実施の形態4では、移動ロボット1の目標地点の形状が実施の形態1〜3とは異なる例を説明する。なお、図9は、本実施の形態4に係る移動ロボット1の機能ブロック図である。本実施の形態4に係る移動ロボット1は、実施の形態1〜3いずれかと同様の構成を備える。図9では、実施の形態3と同様の構成を用いた例を示した。
【0072】
なお、本実施の形態4における移動ロボット1の目標地点30は、凸形状を有する。点A〜点Dを結ぶ線分が凸形状の頂部である。
【0073】
図10は、本実施の形態4における距離計測部3bの計測結果を2次元グラフ上に表したものである。以下、図10のグラフについて説明する。
(角度β1〜角度β9まで)
この範囲では、距離計測部3が照射するレーザは、目標地点30の壁に当たることなく遠方に向かう。目標地点30から離れた位置に障害物等が存在する場合は、距離計測部3とその障害物との間の距離が、距離L1〜L9として検出される。
【0074】
(角度β10〜角度β15まで)
距離計測部3が照射するレーザの角度がβ10になった時点で、レーザは点Aと点Dの間の壁に当たる。これにより、角度β10における検出距離L10は、距離L9から急激に下がる。以降、角度βが大きくなるにつれて、距離計測部3bと壁との間の距離は小さくなるので、これに対応する検出距離Lも小さくなる。
【0075】
(角度β16〜角度β23まで)
この範囲では、レーザ照射角度が大きくなるにつれて、距離計測部3と、点A〜点Dの間の壁との間の距離が大きくなるので、検出距離L16〜L23もこれにともなって大きくなる。
【0076】
(角度β24〜角度β25まで)
この範囲では、距離計測部3が照射するレーザは、目標地点10の壁に当たることなく遠方に向かう。目標地点10から離れた位置に障害物等が存在する場合は、距離計測部3とその障害物との間の距離が、距離L24〜L25として検出される。
【0077】
図11は、本実施の形態4における相対姿勢検出部4の動作フローである。以下、図11の各ステップについて説明する。
(図11:ステップS1100)
本ステップは、図4のステップS400と同様である。
【0078】
(図11:ステップS1101)〜(図11:ステップS1102)
これらのステップは、図1のステップS801〜S802と同様である。
【0079】
(図11:ステップS1103)
相対姿勢検出部4は、距離計測部3a、3bの計測結果を用いて、移動ロボット1の目標地点30に対する相対方向αを検出する。例えば、図10のグラフにおいて、レーザ照射角度βと検出距離Lの相対関係の連続性が途切れている点(点A、点D)の座標を用いて線分ADを算出し、線分ADに対する各距離計測部の正面方向の傾きを相対方向αとみなす、といった手法が考えられる。
【0080】
(図11:ステップS1104)
相対姿勢検出部4は、例えば図6のステップS602〜S603と同様の手法により、線分AB、線分BC、線分CDの方程式を求める。次に、相対姿勢検出部4は、その算出結果を用いて、図10の三角形ADZaの各辺の方程式を求める。
【0081】
(図11:ステップS1105)
相対姿勢検出部4は、ステップS1105と同様の手法により、図10の三角形ADZbの各辺の方程式を求める。
【0082】
(図11:ステップS1106)
相対姿勢検出部4は、ステップS1104〜S1105の結果を用いて、点Oを原点とした、現時点における移動ロボット1の座標(xr,yr)を算出する。算出手法は、例えば図4のステップS404や図6のステップS604と同様でよい。なお、三角形ADZaを用いて算出した座標(xr,yr)と、三角形ADZbを用いて算出した座標(xr,yr)とが異なる場合には、例えば両者の平均値をとって、最終的な座標(xr,yr)としてもよい。これにより、距離計測部3aと3bの計測結果に誤差が含まれている場合でも、これを補償することができる。
【0083】
以上、本実施の形態4では、移動ロボット1の目標地点30が凸形状である場合の動作例を説明した。
【0084】
(実施の形態5)
以上の実施の形態1〜4では、目標地点の底部(線分BC)または頂部(線分AD)の座標を用いて、移動ロボット1の相対位置(xr,yr)と相対方向αを検出する例を説明した。一方、目標地点の側部(線分AB、線分CD)の座標を用いて、同様の処理を行うこともできる。この場合の検出手法は、検出する対象となる線分が異なるのみで、実質的には実施の形態1〜4で説明した手法と同様である。
【0085】
ただし、移動ロボット1と目標地点の位置関係によっては、側部の線分を検出することができない場合もある。例えば、図10の例では、線分ABと線分CDは距離計測部3a、3b双方の死角に隠れているので、検出することができない。この場合は、線分ADを用いて移動ロボット1の相対座標(xr,yr)と相対方向αを検出することになる。
【0086】
同様に、移動ロボット1と目標地点の位置関係により、目標地点の側部(線分AB、線分CD)を検出することができない場合は、目標地点の底部(線分BC)または頂部(線分AD)を用いて移動ロボット1の相対座標(xr,yr)と相対方向αを検出することになる。
【0087】
(実施の形態6)
以上の実施の形態1〜5において、目標地点の端部(例えば点A〜点D)の絶対座標があらかじめ判明している場合は、これを用いて、距離計測部3の計測誤差を補償することができる。例えば、実施の形態1において、図3で説明した極大値を用いて点Bと点Cの座標を検出する場合を想定する。
【0088】
ここでは仮に、点Bと点Cの絶対座標があらかじめ与えられており、図3に基づく点Bと点Cの座標検出結果と、あらかじめ与えられたこれらの点の絶対座標とが異なっているものとする。この場合、相対姿勢検出部4は、あらかじめ与えられている絶対座標と、その検出結果との差分を用いて、以後の検出結果を補償することができる。
【0089】
同様に、目標地点の端部間の距離があらかじめ与えられている場合も、これを用いて、距離計測部3の計測誤差を補償することができる。
【0090】
ここでは仮に、点Bと点Cの距離があらかじめ与えられており、図3に基づく点Bと点Cの座標検出結果から算出した両点間の距離が、あらかじめ与えられた両点間の距離と異なっているものとする。この場合、相対姿勢検出部4は、あらかじめ与えられている両点間の距離と、検出結果に基づき算出した両点間の距離との差分を用いて、以後の検出結果を補償することができる。
【0091】
なお、目標地点の「端部」の座標または「端部」間の距離をあらかじめ取得しておくこととしたのは、距離計測部3の計測結果と、あらかじめ与えられた座標または距離との対応関係を相対姿勢検出部4が把握するためである。
【0092】
例えば、図3における(β8,L8)の絶対座標(x8,y8)があらかじめ与えられていたとしても、相対姿勢検出部4は、距離計測部3の検出結果(L1,β1)〜(Ln,βn)のいずれが(x8,y8)に対応するのか、判断することができない。
【0093】
一方、図3における(β11,L11)と(β17,L17)の絶対座標(x11,y11)と(x17,y17)があらかじめ与えられ、かつこれらが点B、点Cの座標であることが提示されている場合は、図3の極大点と点B、点Cを対応付けることができる。極大点が端部に対応することが明らかだからである。
【0094】
したがって、本実施の形態6では、目標地点の端部の座標または端部間の距離をあらかじめ相対姿勢検出部4に与えておくこととした。
【0095】
以上のように、本実施の形態6によれば、相対姿勢検出部4は、目標地点の端部の座標または端部間の距離をあらかじめ取得しておき、これを用いて距離計測部3の計測結果を補償する。これにより、位置決めの精度を向上させることができる。なお、あらかじめ与えられる座標や距離の情報が多いほど、補償に用いることのできる情報が増えるので、位置決めの精度をより向上させることができる。
【0096】
(実施の形態7)
以上の実施の形態1〜6では、移動ロボット1が目標地点の近傍に存在している状態を前提として説明した。移動ロボット1が目標地点から離れている場合は、例えば以下の(制御手法1)〜(制御手法2)のような手法を用いることができる。
【0097】
(制御手法1)目標地点の近傍までは地図データを用いる
移動ロボット1は、移動開始地点から目標地点までの道順を示す地図データをあらかじめ取得しておく。移動開始地点から目標地点の近傍までは、この地図データを用いて移動することができる。移動ロボットが目標地点の近傍に到着し、距離計測部3を用いて目標地点の形状を計測することができる段階に達した時点で、実施の形態1〜6で説明した手法を用いて、移動ロボット1の詳細な位置決めを行う。
【0098】
(制御手法2)一般的な公知技術を用いる
移動ロボット1は、その他の任意の公知技術を用いて、移動開始地点から目標地点まで移動する。移動ロボットが目標地点の近傍に到着し、距離計測部3を用いて目標地点の形状を計測することができる段階に達した時点で、実施の形態1〜6で説明した手法を用いて、移動ロボット1の詳細な位置決めを行う。
【0099】
(実施の形態8)
本発明の実施の形態8では、移動ロボット1の詳細構成について説明する。本実施の形態8で説明する構成は、実施の形態1〜7いずれにも適用することができる。なお、本実施の形態8では、前2輪が移動用として用いられることを想定する。方向制御は、4輪全てを用いて行われる。
【0100】
図12は、本実施の形態8に係る移動ロボット1の詳細機能ブロック図である。移動ロボット1は、図1で説明した構成の他に、移動モータ7aと7b、操舵モータ8a、8b、8c、8dを備える。
【0101】
移動モータ7a〜7bは、前輪を駆動して移動ロボット1を移動させる。
【0102】
操舵モータ8a〜8dは、各車輪を傾けて移動ロボット1の移動方向を定める。
【0103】
ロボット制御部5は、相対距離指令部51、ロボット経路指令部52、移動モータ速度指令部53を備える。
【0104】
相対距離指令部51は、相対姿勢検出部4より移動ロボット1の相対位置(xr,yr)を取得し、これを用いて目標地点(点Z)までの移動距離を求め、移動モータ速度指令部53に対し、目標相対距離指令mrを出力する。
【0105】
ロボット経路指令部52は、相対姿勢検出部4より移動ロボット1の相対位置(xr,yr)と相対方向αを取得し、これを用いて舵角指令値αa〜αdを算出し、モータ制御部6に出力する。また、左右輪差nを移動モータ速度指令部53に出力する。
【0106】
移動モータ速度指令部53は、目標相対距離指令mrと左右輪差nを用いて、前輪の回転角速度指令値ωa、ωdを、モータ制御部6に出力する。
【0107】
モータ制御部6は、移動モータ制御部61、舵角制御部62を備える。
【0108】
移動モータ制御部61は、回転角速度指令値ωa、ωdを受け取り、それぞれ移動モータ7a、7bに出力する。移動モータ7a、7bは、これらの指令値で指定された角速度で前輪を回転させる。
【0109】
舵角制御部62は、舵角指令αa〜αdを受け取り、それぞれ操舵モータ8a〜8dに出力する。操舵モータ8a〜8dは、これらの指令値で指定された角度に各車輪を傾け、移動ロボット1の移動方向を定める。
【0110】
以上、本実施の形態8では、移動ロボット1の詳細構成例を説明した。本実施の形態8で説明した構成は1例であり、その他の構成をとることもできる。例えば、4輪全てを移動ロボット1の移動のために用いる場合は、移動モータ7は4つ必要である。同様に、角速度指令値ωは、4値必要である。
【0111】
(実施の形態9)
本発明の実施の形態9では、移動ロボット1a、1bを、作業領域71の中で移動・作業を行う場合について図13と図14を用いて説明する。図13において、移動ロボット1a、1bは作業領域71の中を移動し、物体74から物体76を避けながら、目標地点72の点X、目標地点73の点Y、及び、目標地点10の点Zに到達し、位置決めを行うものである。移動ロボット1a、1bは図14に示す動作フローに従い、ロボット姿勢検出演算を行い、自己の姿勢を検出し、目標地点まで移動する。以下、図14の各ステップについて説明する。
【0112】
(図14:ステップS1400)〜(図14:ステップS1401)
これらのステップは、図4のステップS400〜S402と同様である。
【0113】
(図14:ステップS1402)
このステップでは、ステップ1401で得られた距離データL1〜Lnを、移動ロボット1a、1bがあらかじめ持っている作業領域71の地図データと照合することにより、地図上における移動ロボットの姿勢を検出する。これを位置同定とよぶ。
【0114】
(図14:ステップS1403)
同定した移動ロボットの位置が目標地点に接近したか否かを判断し、目標地点に接近したと判断した場合には、ステップ1404〜ステップ1406の演算を行う。図13における移動ロボット1aのように、そのロボットが目標としている目標地点10の点Zに近づいているときがこれに相当する。
また、図13における移動ロボット1bのように、目標地点に接近していないと判断した場合には、それらの演算を行うことなく、ロボット姿勢演算の処理を終了する。この場合には、ステップ1402で得られた位置同定結果に基づき、移動ロボット1bの制御を行う。これにより、作業領域71の中を移動する。
【0115】
(図14:ステップS1404)〜(図14:ステップS1406)
ステップS1403で目標地点10の点Zに移動ロボットが接近していると判断したときには、ステップ1404で目標地点の線分の方程式を求める。この方法はステップS602〜S603で述べた方法と同様である。次のステップS1405、S1406についても、それぞれステップS604、S605と同様に演算を行い、ロボットの相対位置、相対方向を計算する。以上の演算を行った後、ロボット姿勢検出演算を終了する。ステップS1404〜S1406の演算を行ったときには、ここで計算されたロボットの相対位置、相対方向を用いて、目標地点に位置決めする制御を行う。
以上、本実施の形態9では、移動ロボット1が目標地点に接近しているか否かを判断し、広範囲の目標地点間のスムーズな移動と、目標地点における高精度の位置決めを行うことができる。
【0116】
(実施の形態10)
以上の実施の形態1〜9では、目標地点が凹形状または凸形状を有する例を説明した。本発明の適用対象は、これらの形状に限られるものではなく、その他の形状についても同様の手法を適用することができる。例えば、複雑な形状を有する目標地点の形状を直線形状で近似すれば、実質的には本発明と同様の手法を用いることができる。
【符号の説明】
【0117】
1:移動ロボット、2a〜2d:車輪、3:距離計測部、4:相対姿勢検出部、5:ロボット制御部、6:モータ制御部、7a〜7b:移動モータ、8a〜8d:操舵モータ、10:目標地点、51:相対距離指令部、52:ロボット経路指令部、53:移動モータ速度指令部、61:移動モータ制御部、62:舵角制御部、71:作業領域、72〜73:目標地点、74〜76:物体。

【特許請求の範囲】
【請求項1】
移動するための移動機能部を備えた移動ロボットであって、
周辺物体までの距離と方向を計測する距離計測部と、
前記距離計測部が計測した周辺物体までの距離と方向を用いて目標物体の停止地点に対する当該移動ロボットの相対位置と相対方向を検出する相対姿勢検出部と、
前記相対位置と前記相対方向を用いて、前記移動機能部を制御する制御部と、
を備え、
前記相対姿勢検出部は、
前記目標物体を特定する線分を求めることにより、前記相対位置と前記相対方向を検出する
ことを特徴とする移動ロボット。
【請求項2】
移動するための移動機能部を備えた移動ロボットであって、
周辺物体までの距離と方向を計測する距離計測部と、
前記距離計測部が計測した周辺物体までの距離を用いて目標物体の停止地点に対する当該移動ロボットの相対位置と相対方向を検出する相対姿勢検出部と、
前記相対位置と前記相対方向を用いて、前記移動機能部を制御し、前記停止地点に当該移動ロボットを位置決めする制御部と、
を備え、
前記相対姿勢検出部は、
前記目標物体の複数の特徴点を求めることにより、前記相対位置と前記相対方向を検出する
ことを特徴とする移動ロボット。
【請求項3】
前記目標物体は、凹形状または凸形状を有し、
前記相対姿勢検出部は、前記計測した複数の距離と方向のデータを用いて、前記線分を求める
ことを特徴とする請求項1記載の移動ロボット。
【請求項4】
前記目標物体は、凹形状または凸形状を有し、
前記相対姿勢検出部は、複数の頂点あるいは角の点を前記特徴点として求める
ことを特徴とする請求項2記載の移動ロボット。
【請求項5】
前記距離計測部を複数備え、
前記相対姿勢検出部は、
各前記距離計測部の計測結果を用いて前記相対位置と前記相対方向を検出する
ことを特徴とする請求項1から請求項4までのいずれか1項に記載の移動ロボット。
【請求項6】
前記相対姿勢検出部は、
前記距離計測部の計測結果を用いて前記目標物体の形状の線分部分を複数検出し、
その複数の線分部分の座標情報を用いて前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する
ことを特徴とする請求項1または請求項2記載の移動ロボット。
【請求項7】
前記相対姿勢検出部は、
凹形状または凸形状を有する前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する際に、
前記距離計測部の計測結果を用いて前記目標地点の凹形状の底部の線分部分または凸形状の頂部の線分部分を検出し、
その線分部分の座標情報を用いて前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する
ことを特徴とする請求項1または請求項2記載の移動ロボット。
【請求項8】
前記相対姿勢検出部は、
凹形状または凸形状を有する前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する際に、
前記距離計測部の計測結果を用いて前記目標地点の凹形状の側部の線分部分または凸形状の側部の線分部分を検出し、
その線分部分の座標情報を用いて前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する
ことを特徴とする請求項1または請求項2記載の移動ロボット。
【請求項9】
前記距離計測部は、
前記目標地点までの距離と方向を複数の方向について計測し、
前記相対姿勢検出部は、
前記方向に対する前記距離が極大となる点または前記方向と前記距離との相関関係の連続性が途切れる点が前記目標地点の形状の端部に相当すると判定し、
その端部の座標を用いて前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する
ことを特徴とする請求項1から請求項8までのいずれか1項に記載の移動ロボット。
【請求項10】
前記相対姿勢検出部は、
前記端部の座標を用いて前記目標地点の形状の線分部分を検出し、
その線分部分の座標を用いて前記目標地点に対する当該移動ロボットの相対位置と相対方向を検出する
ことを特徴とする請求項9記載の移動ロボット。
【請求項11】
前記相対姿勢検出部は、
前記目標地点の形状の端部の絶対座標情報を取得し、
その絶対座標情報を用いて前記距離計測部の計測結果を補正する
ことを特徴とする請求項1から請求項10までのいずれか1項に記載の移動ロボット。
【請求項12】
前記相対姿勢検出部は、
前記目標地点の形状の2つの端部間の距離情報を取得し、
その距離情報を用いて前記距離計測部の計測結果を補正する
ことを特徴とする請求項1から請求項11までのいずれか1項に記載の移動ロボット。
【請求項13】
移動するための移動機能部を備えた移動ロボットであって、
前記移動機能部を制御する制御部と、
周辺物体までの距離と方向を計測する距離計測部と、
計測した前記距離と方向を、当該移動ロボットが移動する領域の地図と照合して、移動ロボットの位置と方向を同定する地図上姿勢検出部と、
前記距離計測部が計測した周辺物体までの距離と方向を用いて目標物体の停止地点に対する当該移動ロボットの相対位置と相対方向を検出する相対姿勢検出部と、
を備え、
前記制御部は、
前記目標物体に接近するとき、前記地図上姿勢検出部で検出した距離と方向を用いて当該ロボットを制御する方法から、前記相対姿勢検出部で検出した相対位置と相対方向を用いて当該ロボットを制御する方法に切り替えることを
ことを特徴とする移動ロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2013−65342(P2013−65342A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2012−264415(P2012−264415)
【出願日】平成24年12月3日(2012.12.3)
【分割の表示】特願2009−143135(P2009−143135)の分割
【原出願日】平成21年6月16日(2009.6.16)
【出願人】(502129933)株式会社日立産機システム (1,140)
【Fターム(参考)】