ロボット位置検出システム
【課題】 床下点検システム等に用いられるロボット位置検出システムにおいて、位置検出の演算速度を向上させる。
【解決手段】
位置検出システムのロボット10は、走行体11と、走行体11に回動可能に搭載されたカメラ12と、ロボットと水平方向に対峙する固定対象物までの距離を複数方向で測定する距離計13とを有している。遠隔制御装置20のディスプレイ22は、カメラ12からの映像を表示し、かつ固定対象物の位置情報を含むマップデータに基づいてマップを表示する。遠隔制御装置20のパソコン21は、ディスプレイ22に表示されたマップにおいて、探査エリアを指定するとともに、ロボットの現在位置が探査エリアにあるとの条件で、距離計13からの複数方向の測定距離情報と上記マップデータに基づき、現在のロボット位置を演算し、このロボット位置をディスプレイ22に表示させる。
【解決手段】
位置検出システムのロボット10は、走行体11と、走行体11に回動可能に搭載されたカメラ12と、ロボットと水平方向に対峙する固定対象物までの距離を複数方向で測定する距離計13とを有している。遠隔制御装置20のディスプレイ22は、カメラ12からの映像を表示し、かつ固定対象物の位置情報を含むマップデータに基づいてマップを表示する。遠隔制御装置20のパソコン21は、ディスプレイ22に表示されたマップにおいて、探査エリアを指定するとともに、ロボットの現在位置が探査エリアにあるとの条件で、距離計13からの複数方向の測定距離情報と上記マップデータに基づき、現在のロボット位置を演算し、このロボット位置をディスプレイ22に表示させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、床下点検システム等に適用されるロボット位置検出システムに関する。
【背景技術】
【0002】
近年、家屋の床下空間等の点検を行う点検システムの需要が高まっている。特許文献1に開示された点検システムでは、床下空間にレールを配置し、このレールに沿って走行体を走らせ、走行体に設置したカメラで床下空間内を撮影し、その画像を外部の表示装置に表示させるようになっている。走行体にはICタグリーダが設けられ、このICタグリーダが、レールの所定位置に設けたICタグから位置情報を得ることにより、走行体の現在位置を表示装置で確認できるようになっている。
【特許文献1】特開2007−56504号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記特許文献1の点検システムでは、床下空間にレールを設置したり、ICタグを配置する等、インフラを整備する必要があるため、点検システムのコストが高くなる欠点があった。また、点検の自由度も低かった。
【0004】
そこで、遠隔制御により自由に走行するロボットを用いることが考えられる。この場合、ロボットの現在位置を確認する必要があるが、このロボットの位置検出を簡単かつ正確に行うシステムが開発されていなかった。
【課題を解決するための手段】
【0005】
本発明のロボット位置検出システムは、上記課題を解決するためになされたもので、ロボットと遠隔制御装置とを備え、上記ロボットは、走行体と、この走行体に搭載された撮影手段と、ロボットから固定対象物までの距離を複数方向で測定する距離測定手段とを有し、上記遠隔制御装置は、(ア)上記ロボットの走行体を制御する走行制御手段と、(イ)上記撮影手段からの映像を表示し、かつ上記固定対象物の位置情報を含むマップデータに基づいてマップを表示するディスプレイと、(ウ)上記ディスプレイに表示されたマップにおいて、探査エリアを指定するエリア指定手段と、(エ)上記ロボットの現在位置が上記探査エリアにあるとの条件で、上記距離測定手段からの複数方向の測定距離情報と上記マップデータに基づき、現在のロボット位置を演算し、このロボット位置をディスプレイに表示させる位置演算手段と、を備えたことを特徴とする。
【0006】
上記構成によれば、操作者は、ディスプレイにおいてロボットの位置を確認することができるので、迷うことなくロボットの移動を円滑に行うことができる。操作者はカメラ映像を見ながら固定対象物以外の障害物を避けることができ、障害物までの距離情報を取り込まないで済むので、位置検出を正確に行うことができる。
また、マップにおいて探査エリアを限定したので、ロボットの現在位置を特定する演算処理の負担を軽減することができる。さらに、複数位置で同じ距離情報が得られる場合でも、探査エリア外の位置をロボットの現在位置として認識する可能性を排除でき、ロボットの現在位置をより一層正確に検出することができる。
【0007】
好ましくは、上記位置演算手段は、上記ロボットの向きと上記距離測定手段による距離測定方向との相対的角度位置関係を認識し、この相対的角度位置情報と上記測定距離情報と上記マップデータに基づいてロボットの向きをも演算し、このロボットの向きをディスプレイに表示させる。
上記構成によれば、操作者はロボットの位置と向きをディスプレイで見ながらロボットの移動をより一層円滑に行うことができる。
【0008】
好ましくは、上記位置演算手段は、上記マップ上での上記ロボットの向きを推定するとともに、上記探査エリア内でのロボットの位置を推定し、マップ上でのロボットの推定位置から複数方向の固定対象物までの距離を演算し、複数の測定方向での演算距離と測定距離が許容誤差範囲内で一致した時には、推定したロボットの向きおよび位置を現在のロボットの向きおよび位置として特定することを特徴とする請求項2に記載のロボット位置検出システム。
上記構成によれば、演算距離と測定距離の比較だけで、ロボットの向きおよび位置を特定することができ、演算処理の負担をより一層軽減することができる。この場合、ロボットの向きを図る方位センサを省略すれば、コストを低減できる。
【0009】
さらに好ましくは、上記位置演算手段は、上記探査エリアの多数の座標点を順々にロボットの位置と推定し、推定された座標点毎に、複数の測定方向での演算距離と測定距離とが許容誤差範囲内で一致するか否かを判断し、上記探査エリアの全ての座標点で一致を確認できない時には、上記ロボットの向きを異なる方向に推定して、探査エリアの多数の座標点での上記演算および判断を繰り返す。
上記構成によれば、探査エリアを多数の座標点でスキャンすることにより、確実にロボットの向きおよび位置を特定することができる。
【0010】
好ましくは、上記位置演算手段は、現在のロボットの向きおよび位置を特定した後、少なくとも1つの測定方向での測定距離と、同方向に存在するマップ上の固定対象物の位置に基づき、同方向に沿う座標軸におけるロボットの座標を補正する。
これによれば、測定距離に基づいて、より高精度にロボット位置を補正することができる。
【0011】
好ましくは、上記位置演算手段は、補正座標から固定対象物までの距離が上記測定距離と一致するように、補正座標を決定する。
これによれば、ロボット位置の補正を最大限高精度に行うことができる。
【0012】
好ましくは、上記位置演算手段は、90°隔てられた2方向での測定距離と、当該2方向に存在するマップ上の固定対象物の位置に基づき、当該2方向にそれぞれ沿う2つの座標軸におけるロボットの座標を補正する。
これによれば、2座標軸において高精度にロボット位置を補正することができる。
【0013】
好ましくは、上記位置演算手段は、180°隔てられた2方向の測定距離と、当該2方向に存在するマップ上の固定対象物の位置に基づき、当該2方向に沿う座標軸におけるロボットの座標を補正する。
これによれば、対向する2方向の測定距離に基づき、より高精度にロボット位置を補正することができる。
【0014】
さらに好ましくは、上記位置演算手段は、180°隔てられた2方向のうちの一方向の測定距離と補正座標から当該一方向に存在する固定対象物までの距離との間の誤差を第1誤差とし、他方向の測定距離と補正座標から当該他方向に存在する固定対象物までの距離との間の誤差を第2誤差とした時に、これら第1誤差と第2誤差が等しくなるように上記補正座標を決定する。
これによれば、より一層高精度にロボット位置を補正することができる。
【0015】
さらに好ましくは、上記位置演算手段は、180°隔てられた2方向のうちの一方向の測定距離と補正座標から当該一方向に存在する固定対象物までの距離との間の誤差を第1誤差とし、他方向の測定距離と補正座標から当該他方向に存在する固定対象物までの距離との間の誤差を第2誤差とした時に、上記第1誤差と第2誤差の比が上記2方向の測定距離の比と等しくなるように上記補正座標を決定する。
これによれば、距離測定手段での測定精度が測定距離が短いほど高いことを考慮して、より一層高精度にロボット位置を補正することができる。
【0016】
好ましくは、上記位置演算手段は、許容誤差範囲として小さな初期値を用いてロボットの位置および向きの特定を試み、特定できなかった場合には、許容誤差範囲を増大させて、ロボットの位置及び向きの特定を試みる。
これによれば、許容誤差範囲を小さくすることにより、ロボット位置検出の精度を高めることができる。
【0017】
さらに好ましくは、上記位置演算手段は、180°対向する2方向の測定距離の和が所定閾値より小さい場合には、この測定距離の和に1より小さい所定係数を乗じて、当該2方向に沿う座標軸における上記測定距離と演算距離の一致判断に用いられる許容誤差範囲の初期値を決定する。
これによれば、180°対峙する固定対象物の間隔が狭い場合に、その間隔に応じて許容誤差範囲を設定するので、ロボット位置検出の精度を高めることができる。
【0018】
好ましくは、上記固定対象物が建造物の壁面であり、上記ロボットの前後方向を壁面に対して平行または垂直に位置させた状態で、上記距離測定手段がロボットの前後左右の4方向のうち少なくとも2方向での壁面までの距離を測定し、上記位置演算手段は、上記ロボットの向きを90°離れた4つの方向で推定する。
上記構成によれば、限られた数の推定方向、測定方向での演算によりロボットの位置および向きを演算することができるので、演算処理の負担をより一層低減できる。
【0019】
好ましくは、上記ロボットは方位センサを有し、上記位置演算手段は、この方位センサからの方位情報によりロボットの向きを特定し、さらに上記位置演算手段は、上記ロボットの向きと距離測定手段による距離測定方向との相対的角度位置関係を認識し、上記探査エリアの多数の座標点を順々にロボットの実際の位置と推定し、推定された座標点毎に、推定座標点から複数の測定方向における固定対象物までの距離を演算し、この複数の測定方向での演算距離と測定距離とを比較し、両者が許容誤差範囲内で一致するか否かを判断し、一致と判断した時には、その推定座標点を現在のロボットの位置として特定し、特定されたロボットの位置と向きを上記ディスプレイに表示する。
上記構成によれば、方位センサを用いてロボットの向きを特定できるので、演算処理の負担をより一層低減できる。
【0020】
好ましくは、上記固定対象物が建造物の壁面であり、上記距離測定手段がロボットの前後左右の4方向のうち少なくとも2方向での壁面までの距離を測定する。
この構成によれば、限られた数の測定方向での演算により、ロボット位置の演算処理の負担をより一層低減できる。
【0021】
好ましくは、上記位置演算手段は、マップデータ上において、探査エリアの中心と推定座標点との間に壁面がある場合には当該推定座標点をロボットの現在位置と認識しない。
この構成によれば、位置演算を正確に行うことができるか又は演算処理の負担を軽減できる。
【発明の効果】
【0022】
本発明によれば、ロボットの位置確認をしながらロボットを遠隔制御でき、またロボットの現在位置を演算処理するための負担を軽減することができる。
【発明を実施するための最良の形態】
【0023】
以下、本発明のロボット位置検出システムを含む床下点検システムの第1実施形態について、図面を参照しながら説明する。図1、図2に示すように、床下点検システムは、ロボット10と、このロボット10を遠隔制御する遠隔制御装置20とを備えている。
【0024】
ロボット10は、クローラ11(走行体)と、このクローラ11に水平回動可能に搭載されたビデオカメラ12(撮影手段)と、このビデオカメラ12に取り付けられ、ビデオカメラ12と一緒に回動する超音波距離計13(距離測定手段)と、クローラ11に搭載された通信機14とを備えている。
【0025】
上記遠隔制御装置20は、装置本体としてのパソコン21(エリア指定手段、位置演算手段、カメラ制御手段、表示制御手段)と、このパソコン21に接続されたディスプレイ22、ジョイスティックコントローラ23(走行制御手段、カメラ制御手段)と、通信機24とを備えている。パソコン21にはキーボードやマウスも含まれるものとする。本実施形態では、通信機24は上記ロボット10の通信機14と無線で通信を行うが、光ファイバー等により有線で通信を行ってもよい。
【0026】
上記ジョイスティックコントローラ23の操作信号は、パソコン21で処理され通信機24を介して通信機14で受信され、クローラ11のモータドライバに送られ、クローラ11の前進、後退、左右への方向転換を行えるようになっている。
【0027】
また、操作者によるジョイスティックコントローラ23の操作や、キーボード、マウス、ディスプレイ22のタッチキー等の操作により、ビデオカメラ12を自在に回動操作できるようになっている。なお、パソコン21は、自動制御により、ビデオカメラ12のヘッド方向(すなわち距離計13の測定方向)を、クローラ11の特定方向例えば前後、左右方向と一致させることができ、これによりビデオカメラ12および距離計13のクローラ11に対する相対的角度位置関係を認識できるようになっている。なお、ビデオカメラ11および距離計13の回動位置情報をパソコン21に送ることにより、パソコン21でこの相対的角度位置を常時認識するようにしてもよい。
【0028】
ビデオカメラ12の映像信号や距離計13からの測定信号は、通信機14、24を介してパソコン21に送られるようになっている。映像はそのままディスプレイ22に表示される。
【0029】
図3は、点検対象となる建造物の1階のマップを示している。このマップにおいて太線は壁を表すが、この壁の位置は床下空間での布基礎(床下空間における壁、固定対象物)に対応している。換言すれば、この太線は床下空間の布基礎を表している。本実施形態では、紙面に描画されたマップが図示しないスキャナーで読み込まれ、パソコン21で画像編集ソフトを用いて画像処理され、マップデータとしてパソコン21の記憶媒体に記憶される。
【0030】
上記マップデータは、X−Y座標の多数の画素によるデータであり、布基礎に相当する画素が指定された色(例えば青)に色づけされている。なお、この布基礎はX座標軸またはY座標軸と平行になるように修正されている。
【0031】
次に、上記システムにより実行される床下点検の工程を、ロボット10の位置検出を中心にして、図4〜図6のフローチャートを参照しながら説明する。例えばリビングルームの床下空間を点検する場合について説明する。
【0032】
パソコン21は、操作者の操作により、初期状態すなわち図4のステップ100の操作待ち状態になる。
操作者がマップデータ読込の指令をパソコン21の操作により行うと、パソコン21は、記憶媒体からマップデータを読み込むとともに、このマップデータをディスプレイ22に表示し(ステップ101)、それからステップ100に戻る。表示されたマップデータは、図3のマップ(ただし、布基礎が青色をなしている)に相当する。
【0033】
次に、操作者がスケール設定の選択をパソコン21の手動操作により行う(ステップ102)。これに応答して、パソコン21は、マップデータの読込が有ったかどうか判断し(ステップ103)、ここで否定判断した時(ステップ101を予め実行していない時)には、ステップ100に戻り、肯定判断した時にはスケール値の入力を待つ。この際、スケール値の入力を促す表示をしてもよい。
【0034】
操作者はディスプレイ22に表示された図3のマップにおいて、スケール200の開始点201と終了点202を指定するとともに、このスケールの設定長さの数値を入力する(ステップ104)。パソコン21はこの入力を確認してステップ100に戻る。
パソコン21は、上記スケール200と設定長さの情報に基づき、上記マップの実寸(換言すればマップの縮尺)を認識することができる。
マップに建物の実寸が寸法線とともに表示されている場合には、表示された寸法線に合わせてスケールを描き、表示された実寸をスケールの設定長さとして入力してもよい。
【0035】
なお、上記ディスプレイ22においてスケール200を一定長さで表示しておき、操作者が設定長さの数値を入力してもよいし、これとは逆に、設定長さを一定にしておき、操作者がディスプレイ22にスケール200を入力してもよい。また、上記スケールではなく、マップの縮尺情報を数値として直接パソコンに入力してもよい。
【0036】
次に、操作者が壁面認識処理の選択をパソコン21の手動操作により行う(ステップ105)。これに応答してパソコン21は、スケール設定があったかどうか判断し(ステップ106)、否定判断した時にはステップ100に戻り、肯定判断した時には壁面認識処理を実行し(ステップ107)、その後でステップ100に戻る。
【0037】
上記ステップ107の壁面認識処理は、前述したように青に着色された画素を布基礎と認識することを意味する。なお、非着色の画素の隣にある着色された画素が布基礎の壁面を表している。本実施形態では、布基礎の両側面を壁面として認識する。なお、布基礎の中心(壁芯)を壁面として認識するようにしてもよい。いずれにしても壁面は、多数の画素の連なりとして認識される。
【0038】
上述したステップ101〜107は、位置推定の準備工程である。この準備工程と相前後して、ロボット1をリビングルームの床下まで運ぶ。例えば、図3に破線で示すように、ロボット10を台所の床下の地面に置き、ロボット10の前方をリビングに向ける。
【0039】
次に、ビデオカメラ13をロボットの前方を向くようにし、ビデオカメラ13からの映像をディスプレイ22で見ながらロボット10をリビングルームの床下まで前進させる。図3の破線で示す矢印A参照。
【0040】
操作者は、床下の映像を見てリビングルームの床下にロボット10が入ったことを確認した後で、位置推定の選択をパソコン21の手動操作により行う(ステップ108)。これに応答してパソコン21は、壁面認識を実行したかどうかを判断し(ステップ109)、否定判断した時にはステップ100に戻る。
【0041】
上記ステップ109で肯定判断した時にはステップ110に進み、ここで下記のメッセージをディスプレイ22に表示させる。
「周囲半径約3m内に壁面以外の障害物がないことを確認し、ロボットの向きを壁面におおよそ平行に位置させ、スキャンエリアを指定してください。」
【0042】
操作者は上記表示にしたがい、パソコン21の手動操作によりビデオカメラ12を360°回してディスプレイ22の映像を見ながら、布基礎(壁面)以外の障害物の有無をチェックする。障害物がある場合にはロボット10を移動させる。また、ロボット10の前後方向を布基礎の壁面とほぼ平行になるように向きを調節する(ステップ111)。なお、ロボット10の前後方向が壁面と垂直になるように調節してもよい。
【0043】
次に、操作者はパソコン21の手動操作により、図3に示すように、ディスプレイ22に表示されたマップ上でスキャンエリア300(探査エリア)の指定を行う(ステップ112)。このスキャンエリア300は、ロボット10の位置する可能性がある範囲を意味する。操作者はディスプレイ22に表示された床下の映像情報から、ロボット10の現在位置を大まかに推定できるからである。
【0044】
上記スキャンエリア300の画面上の広さまたは実際の広さは、予め決めておいてもよいし、操作者がこのステップ112において設定してもよい。スキャンエリア300の形状に制約は無いが、X,Y座標軸と平行な辺を有する正方形が好ましい。
【0045】
上記ディスプレイ22において、スキャンエリア300の中心301を表示してもよい。この場合、操作者はこの中心301を確認しながらスキャンエリア300を指定することができる。
【0046】
上記スキャンエリア300が指定されると、パソコン21は、以下に述べるロボット10の位置、向きの自動演算工程を実行する。最初に、距離計13により、ロボット10の前後方向および左右方向に位置する布基礎壁面までの距離を測定し、記憶する(ステップ113)。本実施形態では4方向であるが、例えば後ろ方向を省略して3方向の距離を測定してもよい。
【0047】
次に、推定方向の指定、変更を行う(ステップ114)。このステップ114における方向の推定とは、マップ上でのロボット10の向きの推定を意味する。例えば、ロボット10の前方向が0°(表示されたマップの上方向)、90°(右方向)、180°(下方向)、270°(左方向)と一致することを順次推定する。
【0048】
ステップ114において、最初はロボット10の前方向が0°(マップの上方向)と一致すると推定する。
【0049】
次に、ステップ115に進み、スキャンエリア300内の探査座標点の推定、変更を行う。前述したように操作者が指定したスキャンエリア300はロボット10が位置する可能性がある範囲を意味するから、このスキャンエリア300にX,Y座標軸に沿ってマトリックス状(碁盤目状)に配置された座標点を、それぞれロボット10の現在位置と推定した時に、測定距離データとマップデータとを比較し、一致する場合には、推定した座標点をロボット10の現在位置と認識するのである。
【0050】
上記探査座標点は、ディスプレイ22の画素毎に配列してもよいし、実際の所定寸法毎に配列してもよい。
【0051】
上記探査座標点のスキャンは例えば次のようにして行われる。スキャンエリア300において左上隅の座標点から始まり右方向に順にスキャンし、その列が終わったらその下の列の座標点を左から順にスキャンし、最後の座標点が右下隅の座標点となる。
【0052】
後述するように、本実施形態では途中でロボット10の現在位置に相当する座標点が見つかった場合には、残りの座標点のスキャンを省略し、演算の負担を軽減できるようになっている。
【0053】
上記ステップ115の後に実行されるステップ116〜131は、ロボット10がマップ上において推定された方向を向き、ロボット10の現在位置がスキャンエリア300において推定された座標点にあると仮定した時に、測定距離情報とマップデータとを照合するものである。最初はロボット10がマップにおいて上を向き、スキャンエリア300の左上隅に位置すると推定した場合の照合である。
【0054】
ステップ116では、ロボット10の前方向の測定距離が測定可能な範囲か否かを判断する(ステップ116)。超音波距離計13の場合、例えば3mが測定可能な範囲であるが、測定距離が3.5mとなった場合には、ここで否定判断される。なお、距離計13自身で距離情報の代わりにこの測定不能範囲にあるか否かの信号を送るようにしてもよい。
【0055】
上記ステップ116で否定判断した場合には、マップ上において探査座標点から前方の測定可能範囲の距離において、壁面が無いか否かを判断する(ステップ117)。ここで否定判断した場合、すなわち壁面ありと判断した場合には、ステップ115に戻り探査座標を変更する。すなわち、上記推定した方向および座標点では測定距離情報とマップデータが一致しないからである。
【0056】
上記ステップ117での肯定判断は、測定距離と、マップデータにおける探査座標と壁面との間の距離が、一致したとの判断を意味する。
【0057】
上記ステップ116で肯定判断した時(測定距離が測定可能な範囲であると判断した時)にはステップ118に進み、測定された前方向の壁面までの距離が、マップデータで演算した距離と一致するか否かを判断する。
【0058】
上記演算距離は、マップ上での探査座標点から壁面までの距離である。測定方向はX座標軸またはY座標軸に平行であるから、この演算距離はX座標軸またはY座標軸に沿う画素数を数えて所定係数を乗じれば良く、簡単に演算できる。
【0059】
上記ステップ118では測定距離と演算距離の差が所定の許容誤差範囲±α0(―α0から+α0)内であれば一致すると判断する。なお、α0は許容誤差の絶対値を表す。ここで一致と判断しない場合には、ステップ115に戻り探査座標点を変更する。所定の許容誤差範囲±α0は、距離計13の測定誤差より大きく設定する。スケール設定時の誤差やロボット10の向きのずれ(壁面に対して直角または平行な向きからのずれ)を考慮するためである。例えば距離計13の測定誤差が±100mmの場合、許容誤差範囲はその2倍以上の±250mmに設定する。
【0060】
上記ステップ118で肯定判断した場合にはステップ119に進み、探査座標点から前方向の測定距離内において、マップ上に他の壁面が無いか否かを判断する。ここで壁面ありと判断したときには、ステップ115に戻り探査座標点を変更する。
【0061】
上記ステップ119の意味を図7を参照しながら説明する。図7において2つの矢印は測定距離Dを示す。距離計13は、ロボット10が実際にいる位置から最も近い壁面W1までの距離Dを測定する。
【0062】
他方、マップデータに基づき演算される距離は、探査座標点から壁面W1までの距離と、壁面W2までの距離を含め複数ある。ロボット10が実際にいる位置から離れた座標点を探査座標点とした場合には、他の壁面W2までの距離がDであると、測定距離と演算距離が一致してしまい、誤認の可能性が生じる。
そこで、この探査座標点から距離Dまでの間に壁面W1がある場合には、ステップ119で否定判断し、測定距離とマップデータの一致性を否定するのである。
【0063】
なお、本実施形態では壁面W1,W2を識別しないためステップ119が必要であるが、マップにおいて探査座標点とこの探査座標点に最も近接する壁面との距離だけを演算距離として特定する場合には、このステップ119は省略してもよい。
【0064】
上記ステップ117またはステップ119で肯定判断した場合、すなわちロボット10の前方向での測定距離とマップデータに基づく演算距離が一致していると判断した場合には、ロボット10の右方向について、上記ステップ116〜119と同様のステップ120〜123を実行する。
【0065】
上記ステップ121またはステップ123で肯定判断した場合、すなわちロボット10の右方向での測定距離とマップデータに基づく演算距離が一致していると判断した場合には、左方向について、上記と同様のステップ124〜127を実行する。
【0066】
上記ステップ125またはステップ127で肯定判断した場合、すなわちロボット10の左方向での測定距離とマップデータに基づく演算距離が一致していると判断した場合には、後方向について上記と同様のステップ128〜131を実行する。
【0067】
上記ステップ129またはステップ131で肯定判断した場合、すなわちロボット10の後ろ方向での測定距離とマップデータに基づく演算距離が一致していると判断した場合(前後左右の全方向で一致していると判断した場合)には、ステップ132に進む。
【0068】
ステップ132では、マップにおいて、スキャンエリア300の中心301から探査座標点(すなわちロボット10の推定位置)までに壁面がないかどうかを確認する。
【0069】
上記ステップ132の意味を図3を参照しながら説明する。操作者は、ロボット10がリビングルームの床下に位置していると判断してスキャンエリア300を指定している。すなわちリビングルームの隣の和室の床下ではないことは明らかである。それにも拘わらず、スキャンエリアRは和室にまで及んでいる。この場合、和室に探査座標点がある場合にはたとえ距離情報が一致していても、その一致性を否定する。より具体的には、和室内に探査座標点がある場合には、スキャンエリア300の中心301と探査座標点との間に壁面が介在される。これをマップデータから読み取って、否定判断するのである。
【0070】
なお、上記ステップ132は、ステップ115とステップ116の間で実行してもよい。この場合、ステップ132で否定判断した時には前後左右方向の測定距離と演算距離を比較する工程(ステップ116〜131)を省くことができる。
【0071】
上記ステップ131で否定判断した場合およびステップ132で否定判断した場合には、ステップ133に進み、スキャンエリア300の全座標点についての探査が終了したか否かを判断する。ここで否定判断した時にはステップ115に戻り探査座標点を変更して、上記と同様にステップ116〜132を繰り返す。
【0072】
そして、スキャンエリア300の全座標点で測定距離データとマップデータの一致が無い場合には、ステップ133で肯定判断してステップ134に進み、全ての推定方向での探が終了したか否かを判断する。
【0073】
上記ステップ134で否定判断した時には、ステップ114に戻り、ここで推定方向を変更する。例えば、ロボット10の前方向が0°であると推定してスキャンエリア300の全座標点で測定距離データとマップデータが一致しなかった場合には、ロボット10の前方向を90°に推定し、再び上述したステップ115〜133を実行する。
【0074】
推定方向を90°に変更しても測定距離データとマップデータが一致しない場合には、推定方向を180°、270°に順次変更して上記ステップ115〜133を実行する。
【0075】
そして、4つの推定方向でも測定距離データとマップデータが一致する探査座標点が見つからなかった時にはステップ135に進み、ディスプレイ22に「一致する箇所がありませんでした。」のメッセージを表示して、ステップ100に戻る。
【0076】
上記ステップ132で肯定判断した場合にはステップ136に進み、推定した方向および座標点がロボット10の実際の方向及び位置であると認識し、ディスプレイ22のマップ上に、ロボット10の位置と方向を示すマーク400を表示する。図3のマーク400は、ロボット10の前方向がマップにおいて下方向(180°)であることを示している。
【0077】
次に、ステップ137に進み、ここで「別の一致する位置を探査しますか?」のメッセージをディスプレイ22に表示する。このステップ137は、マーク400で表示されたロボット10の位置が、操作者がビデオカメラで観察して大まかに把握しているロボット10の位置と相違している場合や、念を入れてロボットの位置を確認したい場合を想定して組み込まれている。
【0078】
操作者が「はい」を選択すると、次のステップ138で肯定判断し、ステップ133に戻ってスキャンエリア300の残りの座標点について探査を行う。この際、実際の位置と認識した座標点からX、Y座標軸方向に所定距離(例えば所定の許容誤差範囲2α0またはそれに所定倍数乗じた距離)進んだ座標(離れた座標)から照合を再開する。
【0079】
操作者が「はい」を選択しない時にはステップ139に進み、「この位置を履歴に残しますか?」のメッセージを表示する。
【0080】
操作者が「はい」を選択すると、ステップ140で肯定判断してステップ141に進み、ここで上記ロボット10の位置および方向を記憶するとともに、矢印400の表示状態を維持する。
【0081】
そして、ステップ141を実行後またはステップ140で否定した場合には、ステップ100に戻る。なお、ステップ140で否定判断した場合にはマーク400はディスプレイ22から消去される。
【0082】
上記のようにしてディプレイ22に表示されたマーク400によりロボット10の位置および方向を認識した操作者は、さらにロボット10を走行させ、同様にして位置検出を実行してディスプレイ22にマーク400’を表示させる。
【0083】
上記のように、操作者はディスプレイ22でロボット10の現在位置と向きを認識しながら、ロボット10の走行制御を行うことができるとともに、ビデオカメラ12の映像により布基礎の壁面の状態を点検することができる。そのため、布基礎の壁面に異常がある場合には、その箇所を正確に特定できる。また、位置確認ができずにロボット10を戻すことが困難になるような不都合も生じない。
【0084】
上記布基礎の壁面に異常を発見した場合には、その箇所をディスプレイ22に表示し、その異常個所の位置と映像を記憶するようにしてもよい。
【0085】
上記説明では、ロボット10を台所床下の地面に置いてしばらく走行させてからリビングルームの位置検出を行なったが、最初にロボット10を置いた場所で位置検出を行うようにしてもよいことは勿論である。
ディスプレイ22は、ビデオカメラ12からの映像とマップとを別の領域に表示してもよいし、操作により映像とマップを切り替えて表示してもよい。
【0086】
上記第1実施形態では、より高精度の位置検出を要求される場合に、下記のような改良すべき点がある。
第1に、第1実施形態では、推定した方向において推定した座標点から一番近い壁までのマップ上での演算距離と測定距離との差が許容誤差範囲内であれば、両者が一致したと判断し、それ以降探査エリアの残りの座標点でのスキャンを省略する。そのため、許容誤差範囲を広く取るとロボット10の現在位置として認識した位置(以下、検出位置と称す)が、許容誤差範囲ではあるが実際の位置からずれてしまう。
【0087】
第2に、第1実施形態では、ロボット10が2つの壁面に挟まれた狭い空間に位置する場合には、これら壁面と直交する座標軸上の広い範囲の座標点で、測定距離と演算距離が許容誤差範囲で一致してしまう。
【0088】
第3に、第1実施形態では、測定距離が例えば3m以上であると測定範囲外とするが、マップ上でも推定座標点から一番近い壁までの演算距離が3m以上であれば、測定距離と演算距離が一致すると判断する。この場合、例えばロボット10が広い空間に位置し、前後左右とも壁面から遠い場合には、探査エリアの最初の推定方向、推定座標点で、測定距離と演算距離が全方向に一致と判断し、この推定方向および推定座標点をロボット10の現在の方向、位置と認識してしまう。
【0089】
本発明の第2実施形態は、上記第1実施形態における改良すべき点を鑑み、より高精度にロボット10の位置検出を行えるようにしたものであり、図4〜図6に示す第1実施形態の演算フローをそのまま用い、これに図8〜図10に示すフローを追加することにより構成される。以下、詳述する。
【0090】
図4のステップ113で全方向(前後左右方向)の距離を測定した後、図8のフローを実行する。まず、距離計13の全方向の測定距離が測定可能な範囲外(例えば3m以上)か否かを判断する(ステップ150)。このステップ150で肯定判断した場合には、ステップ151に進み下記のメッセージを表示してからステップ100に戻る。
「壁面に近寄り(距離計の測定可能範囲内)、位置検知操作を行ってください。」
【0091】
操作者は、上記メッセージにしたがい、ロボットを制御して少なくとも1つの壁面の近傍に位置変更してから、再度ステップ108の選択を実行する。
これにより、第1実施形態の第3の改良すべき点を克服することができる。
【0092】
上記ステップ150で否定判断した時、すなわち少なくとも一方向での測定距離が測定可能範囲であると判断した時には、前後方向、左右方向の少なくとも一方において、測定距離の和が所定閾値、例えば上記所定の許容誤差範囲±α0の幅2α0より小さいか否かを判断する(ステップ152)。
【0093】
図11を参照しながら説明すると、ロボット10の前後方向、左右方向の少なくとも一軸に沿って壁面A,Bが対峙する状況において、当該軸に沿う2つの方向の測定距離をDa,Dbとした場合、下記式が成立するか否かを判断する。
Da+Db<2α0・・・(1)
所定の許容誤差範囲±α0を±250mmとした場合、対向する壁面A,Bの間隔(すなわちDa+Db)が500mm未満の場合には、上記式(1)を満たすことになる。
【0094】
壁面A,B間が狭く、上記式(1)の条件を満たす場合には、上記ステップ152で肯定判断してステップ153に進み、ここで、該当する方向の許容誤差範囲±αの最小値±αminと最大値±αmaxを設定する。ここでαminとαmaxは、測定距離の和より小さい値に設定され、例えばαminは上記測定距離の和に係数0.3を乗じ、αmaxは係数0.7を乗じることにより得る。
【0095】
なお、前後方向の測定距離の和だけが上記式(1)を満たす場合には、この前後方向の許容誤差範囲についてだけ最小値±αminと最大値±αmaxを設定し、左右方向の許容誤差範囲については上記所定の許容誤差範囲±α0を維持する。
同様に、左右方向の測定距離の和だけが上記式(1)を満たす場合には、この左右方向の許容誤差範囲についてだけ最小値±αminと最大値±αmaxを設定し、前後方向の許容誤差範囲については上記所定の許容誤差範囲±α0を維持する。
前後方向、左右方向について上記式(1)を満たす場合には、各方向の許容誤差範囲の最小値±αminと最大値±αmaxを対応する方向の測定距離の和に応じて設定する。
【0096】
上記のようにステップ153で許容誤差範囲の最小値±αminと最大値±αmaxを設定した後、第1実施形態で説明したように図4のステップ114以下の演算を実行する。
なお、ステップ152で否定判断した場合、すなわち前後方向、左右方向に対峙する壁面間の間隔が広く、上記式(1)を満足しないと判断した時には、ステップ153を実行せず(換言すれば許容誤差範囲を所定値±α0に維持したまま)、ステップ114以下の演算を実行する。
【0097】
図5のステップ118、122、126、130では、上記のようにして設定された許容誤差範囲を用いて測定距離と演算距離の一致性を判断する。狭い間隔で対峙する壁面間にロボットが位置する場合には、対峙方向の許容誤差範囲の初期値は最小値±αminとする。このように、狭い許容誤差範囲を用いることによりロボット10の位置検出精度を高めることができ、上述した第2の改良すべき点を克服できる。
【0098】
スキャンエリアの全座標点の探査を終了し、全方向の探査を終了しても、一致座標点を見出せない時には、図6のステップ133,134で肯定判断することになるが、この時、第1実施形態のように即座にステップ135を実行するのではなく、図9のステップ160,161を実行する。
【0099】
ステップ160では、上記式(1)を満たす方向における許容誤差範囲を初期値±αminから設定量(例えば100mm)だけ増加させて許容誤差範囲を±(αmin±100mm)にし、次にこの許容誤差範囲が最大値±αmaxを超えたか否かを判断する(ステップ161)。超えていない場合には、ステップ161で否定判断し、ステップ114に戻り探索を繰り返す。
許容誤差範囲を設定量ずつ増やしながら上記探索を繰り返しても一致座標点が見出せず、ステップ161で肯定判断した場合には、図6のステップ135に進む。
【0100】
なお、上記許容誤差範囲の増加量は、αmaxとαminの差に1より小さい乗数を乗じることにより得てもよい。
【0101】
本実施形態において、ステップ152は省略してもよい。この場合、ステップ153の代わりに、2軸方向における許容誤差範囲を、無条件で小さな初期値(最小値)に設定し、段階的に所定量ずつ増加させ、所定の最大値に達しても一致座標点を見出せない場合には、ステップ135に進むようにしてもよい。
上記許容誤差範囲の初期値(最小値)、最大値、増加量は、操作者が任意に設定できるようにしてもよい。
また、距離計13の測定距離が短ければ測定誤差も小さいので、測定距離に応じて許容誤差範囲を設定してもよい。
【0102】
第2実施形態では、さらに高精度の位置検出を行うために、図6のステップ132とステップ136との間で、図10のステップ170〜181を実行する。このフローは、上記ステップ114〜ステップ132により特定されたロボット10の現在位置(検知位置)のX座標、Y座標のうち、少なくとも一方を補正するためのものである。
【0103】
ステップ170では前後左右のうちいずれか1方向のみで測定可能範囲内か否かを判断する。ここで肯定判断した場合にはステップ171に進み、当該測定可能な方向の測定距離とマップデータに基づき、当該方向に沿う座標軸における検知位置の座標を補正する。
【0104】
図12を参照して説明すると、検知座標点とこの検知座標点に最も近い壁面との間の距離は、測定距離Dに対して所定の許容誤差範囲±α0内の誤差を有している。そこで、上記測定可能な方向に沿う座標軸において、検知座標点から上記壁面までの距離が測定距離Dになるように、検知座標点を補正する。
なお、上記座標軸と直交する座標軸上の検知座標は補正できない。
【0105】
ステップ170で否定判断した場合には、ステップ172で隣り合った2方向(90°間隔をなす2方向)のみ測定可能範囲か否かを判断する。
なお、上記ステップ171を実行した場合には、その後でこのステップ172を実行してもよいし、ステップ136へとジャンプしてもよい。
【0106】
上記ステップ172で肯定判断した場合にはステップ173に進み、上記測定可能な2方向の測定距離とマップデータに基づき、当該2方向に沿う2座標軸の検知座標点を補正する。
図13を参照して説明すると、検知座標とこの検知座標に最も近い2つの壁面との間の距離は、測定距離D1、D2に対して所定の許容誤差範囲±α0内の誤差を有している。そこで、上記測定可能な2方向で検知座標から上記壁面までの距離が測定距離D1、D2になるように、検知座標を補正する。
【0107】
上記ステップ172で否定判断した場合には、ステップ174で前後の両方向が測定範囲可能範囲か否かを判断する。
なお、上記ステップ173を実行した場合には、その後でこのステップ174を実行してもよいし、ステップ136へとジャンプしてもよい。
【0108】
上記ステップ174で肯定判断した場合にはステップ175に進み、前後方向の測定距離とマップデータに基づき、前後方向に沿う座標軸における検知座標点を補正する。
詳述すると、図14(A)に示すように、検知座標点とこの検知座標点に最も近い前方および後方の2つの壁面との間の距離は、測定距離Df、Drに対して所定の許容誤差範囲±α0の誤差を有している。そこで、図14(B)に示すように、検知座標点から前方の壁面までのマップ上の距離Df’と測定距離Dfとの間の誤差を第1誤差βfとし、検知座標点から後方の壁面までのマップ上の距離Dr’と測定距離Drとの間の誤差を第2誤差βrとした時、第1誤差βfと第2誤差βrが等しくなるように、検知座標点を補正する。
【0109】
図14(B)の補正を、数式演算で求める場合、下記式(2)から求める。
補正座標=Xo+{(Df−Dfo)+(Dr−Dro)}/2 ・・・(2)
但し、Xoは検知座標、Dfoは検知座標から前方の壁までの演算距離、Droは検知座標から後方の壁までの演算距離である。
【0110】
上記ステップ175を実行した後でステップ176に進み、ここで左と右のどちらか一方のみが測定可能範囲か否かを判断する。このステップ176で肯定判断した場合には、左右方向に沿う座標軸における検知座標点を補正する(ステップ177)。この補正は、左右いずれか一方の測定距離とマップデータに基づき行うが、ステップ171、図12と同様であるので説明を省略する。
【0111】
上記ステップ174、176で否定判断した場合には、ステップ178で左右の両方向が測定範囲可能範囲か否かを判断する。
なお、上記ステップ177を実行した場合には、その後でこのステップ178を実行してもよいし、ステップ136にジャンプしてもよい。
【0112】
上記ステップ178で肯定判断した場合には、左右方向の測定距離とマップデータに基づき、左右方向に沿う座標軸における検知座標点の補正を行う。この補正は、ステップ175、図14と同様であるので説明を省略する。
【0113】
ステップ175を実行せずステップ179を実行する場合には、左右方向に沿う座標軸における検知座標点の補正だけを行なうことになる。ステップ175とステップ179を実行する場合には、4方向の測定距離に基づき2座標軸における検知座標点の補正を行うことになる。
【0114】
ステップ179を実行した後、ステップ180で前と後のどちらか1方向のみが測定可能範囲か否かを判断する。ここで肯定判断した時には、ステップ181で当該1方向の測定距離とマップデータに基づき、前後方向に沿う座標軸における検知座標点を補正する。なお、この補正はステップ171、図12と同様であるので説明を省略する。
上記ステップ181を実行した場合には、3方向での測定距離に基づき、2座標軸における検知座標点の補正を行うことができる。
【0115】
上記ステップ181を実行した後、図6のステップ136に進む。なお、ステップ178,180で否定判断した時にも図6のステップ136に進む。
【0116】
上記第2実施形態のステップ175,179において、第1誤差βfと第2誤差βrの比を両方向の測定距離Df、Drの比に一致させるように、検知座標点を補正してもよい。図14(B)および下記式参照。
βf/βr=Df/Dr ・・・(3)
この検知座標点の補正は、測定距離が短いほど測定誤差が小さいことを勘案したものである。
【0117】
本発明は上記実施形態に制約されず、種々の態様を採用可能である。例えば、上記実施形態では、ロボットの前後方向を壁面に対して平行または垂直にしたが、演算処理の負担が増えてもよい場合には、このロボットの姿勢は制約されず、壁面に対して斜めであってもよい。この場合には、推定方向を細かい角度間隔例えば10°間隔にすればよい。このような演算を行う場合、斜めをなす壁面が多くあってもロボット位置、向きを正確に演算できる。
【0118】
ロボットが方位センサを備えていてもよい。この場合、パソコン21は方位センサの方位情報によりロボットの向きを特定できるので、ロボットの向きを複数方向に推定する必要がなく、例えば前述した実施形態におけるステップ114を省くことができ、演算を簡略化できる。この方位センサの方位情報を用いれば、壁面に対してロボットの姿勢を斜めにしたり、斜めをなす壁面が多くある場合でも、推定方向を細かい角度間隔にせずに、ロボットの位置と向きを正確に演算できる。
【0119】
なお、上記方位センサの方位情報を、前述の実施形態においてステップ136で特定した方向と照合し、方向演算を確実に行うようにしてもよい。
【0120】
上記実施形態ではロボットの前後左右の4方向または3方向の測定距離データを求めたが、例えば90°間隔離れた2方向の測定距離データを求めてもよい。
また、90°より細かい角度間隔で距離測定を行って、多数の測定距離データを得てもよい。この場合、これら測定距離データから壁面形状を求め、これとマップデータ上の壁面形状とを照合させることにより、ロボットの位置、向きを求めてもよい。
【0121】
上記実施形態ではマップデータを紙面に描いたマップをスキャニングして得たが、パソコンにマップデータを直接入力するようにしてもよい。
【0122】
超音波距離計の代わりにレーザー距離計を用いてもよい。
距離計をビデオカメラから独立して回動させるようにしてもよい。また距離計を回動させずに、異なる方向の距離を測定する複数例えば2つ〜4つの距離計をロボットの固定位置に配置してもよい。また、1個のスキャン型距離計により、例えば180°の角度範囲における所定角度間隔毎の多数の測定距離データを得てもよい。
【0123】
走行体はクローラの代わりにタイヤ式のものを用いてもよい。
走行制御はパソコンに付属のマウス等で行ってもよい。
【0124】
本発明は床下の点検システムに適用したが、建造物で障害物がない室内空間の点検システムに適用してもよい。この場合、部屋を仕切る壁面のマップデータが用いられる。
本発明は、建造物以外でも対象物の位置が固定的である空間例えば工場プラント内を走行するロボットの位置検出に用いることもできる。
本発明は、点検以外の種々の用途に用いることもできる。
【図面の簡単な説明】
【0125】
【図1】本発明のロボット位置検出システムを、床下点検システムに適用した第1実施形態を示す概略側面図である。
【図2】同床下点検システムのロボットの概略平面図である。
【図3】同システムのディスプレイに表示された点検対象となる床下のマップを示す図である。
【図4】同システムのパソコンで実行されるロボット位置検出のためのフローチャートの前段部分を示す図である。
【図5】同フローチャートの中段部分を示す図である。
【図6】同フローチャートの後段部分を示す図である。
【図7】同フローチャートの一ステップの意味を説明する図である。
【図8】本発明の第2実施形態において、図4〜6のフローに組み込まれるステップを示す図である。
【図9】同第2実施形態において、図4〜6のフローに組み込まれるステップを示す図である。
【図10】同第2実施形態において、図4〜6のフローに組み込まれるステップを示す図である。
【図11】同第2実施形態において、狭い間隔をなす壁面間にロボットが位置した状態を示す概略平面図である。
【図12】同第2実施形態において、1方向の測定距離に基づき、1座標軸における検知座標点を補正する工程を説明する概略図である。
【図13】同第2実施形態において、隣り合う2方向の測定距離に基づき、2座標軸における検知座標点を補正する工程を説明する概略図である。
【図14】同第2実施形態において、対向する2方向の測定距離に基づき、1座標軸における検知座標を補正する工程を説明する概略図である。
【符号の説明】
【0126】
10 ロボット
11 クローラ(走行体)
12 ビデオカメラ(撮影手段)
13 距離計(距離測定手段)
20 遠隔制御装置
21 パソコン(エリア指定手段、位置演算手段、表示制御手段)
22 ディスプレイ
23 ジョイスティックコントローラ(走行制御手段、カメラ制御手段)
300 探索エリア
【技術分野】
【0001】
本発明は、床下点検システム等に適用されるロボット位置検出システムに関する。
【背景技術】
【0002】
近年、家屋の床下空間等の点検を行う点検システムの需要が高まっている。特許文献1に開示された点検システムでは、床下空間にレールを配置し、このレールに沿って走行体を走らせ、走行体に設置したカメラで床下空間内を撮影し、その画像を外部の表示装置に表示させるようになっている。走行体にはICタグリーダが設けられ、このICタグリーダが、レールの所定位置に設けたICタグから位置情報を得ることにより、走行体の現在位置を表示装置で確認できるようになっている。
【特許文献1】特開2007−56504号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記特許文献1の点検システムでは、床下空間にレールを設置したり、ICタグを配置する等、インフラを整備する必要があるため、点検システムのコストが高くなる欠点があった。また、点検の自由度も低かった。
【0004】
そこで、遠隔制御により自由に走行するロボットを用いることが考えられる。この場合、ロボットの現在位置を確認する必要があるが、このロボットの位置検出を簡単かつ正確に行うシステムが開発されていなかった。
【課題を解決するための手段】
【0005】
本発明のロボット位置検出システムは、上記課題を解決するためになされたもので、ロボットと遠隔制御装置とを備え、上記ロボットは、走行体と、この走行体に搭載された撮影手段と、ロボットから固定対象物までの距離を複数方向で測定する距離測定手段とを有し、上記遠隔制御装置は、(ア)上記ロボットの走行体を制御する走行制御手段と、(イ)上記撮影手段からの映像を表示し、かつ上記固定対象物の位置情報を含むマップデータに基づいてマップを表示するディスプレイと、(ウ)上記ディスプレイに表示されたマップにおいて、探査エリアを指定するエリア指定手段と、(エ)上記ロボットの現在位置が上記探査エリアにあるとの条件で、上記距離測定手段からの複数方向の測定距離情報と上記マップデータに基づき、現在のロボット位置を演算し、このロボット位置をディスプレイに表示させる位置演算手段と、を備えたことを特徴とする。
【0006】
上記構成によれば、操作者は、ディスプレイにおいてロボットの位置を確認することができるので、迷うことなくロボットの移動を円滑に行うことができる。操作者はカメラ映像を見ながら固定対象物以外の障害物を避けることができ、障害物までの距離情報を取り込まないで済むので、位置検出を正確に行うことができる。
また、マップにおいて探査エリアを限定したので、ロボットの現在位置を特定する演算処理の負担を軽減することができる。さらに、複数位置で同じ距離情報が得られる場合でも、探査エリア外の位置をロボットの現在位置として認識する可能性を排除でき、ロボットの現在位置をより一層正確に検出することができる。
【0007】
好ましくは、上記位置演算手段は、上記ロボットの向きと上記距離測定手段による距離測定方向との相対的角度位置関係を認識し、この相対的角度位置情報と上記測定距離情報と上記マップデータに基づいてロボットの向きをも演算し、このロボットの向きをディスプレイに表示させる。
上記構成によれば、操作者はロボットの位置と向きをディスプレイで見ながらロボットの移動をより一層円滑に行うことができる。
【0008】
好ましくは、上記位置演算手段は、上記マップ上での上記ロボットの向きを推定するとともに、上記探査エリア内でのロボットの位置を推定し、マップ上でのロボットの推定位置から複数方向の固定対象物までの距離を演算し、複数の測定方向での演算距離と測定距離が許容誤差範囲内で一致した時には、推定したロボットの向きおよび位置を現在のロボットの向きおよび位置として特定することを特徴とする請求項2に記載のロボット位置検出システム。
上記構成によれば、演算距離と測定距離の比較だけで、ロボットの向きおよび位置を特定することができ、演算処理の負担をより一層軽減することができる。この場合、ロボットの向きを図る方位センサを省略すれば、コストを低減できる。
【0009】
さらに好ましくは、上記位置演算手段は、上記探査エリアの多数の座標点を順々にロボットの位置と推定し、推定された座標点毎に、複数の測定方向での演算距離と測定距離とが許容誤差範囲内で一致するか否かを判断し、上記探査エリアの全ての座標点で一致を確認できない時には、上記ロボットの向きを異なる方向に推定して、探査エリアの多数の座標点での上記演算および判断を繰り返す。
上記構成によれば、探査エリアを多数の座標点でスキャンすることにより、確実にロボットの向きおよび位置を特定することができる。
【0010】
好ましくは、上記位置演算手段は、現在のロボットの向きおよび位置を特定した後、少なくとも1つの測定方向での測定距離と、同方向に存在するマップ上の固定対象物の位置に基づき、同方向に沿う座標軸におけるロボットの座標を補正する。
これによれば、測定距離に基づいて、より高精度にロボット位置を補正することができる。
【0011】
好ましくは、上記位置演算手段は、補正座標から固定対象物までの距離が上記測定距離と一致するように、補正座標を決定する。
これによれば、ロボット位置の補正を最大限高精度に行うことができる。
【0012】
好ましくは、上記位置演算手段は、90°隔てられた2方向での測定距離と、当該2方向に存在するマップ上の固定対象物の位置に基づき、当該2方向にそれぞれ沿う2つの座標軸におけるロボットの座標を補正する。
これによれば、2座標軸において高精度にロボット位置を補正することができる。
【0013】
好ましくは、上記位置演算手段は、180°隔てられた2方向の測定距離と、当該2方向に存在するマップ上の固定対象物の位置に基づき、当該2方向に沿う座標軸におけるロボットの座標を補正する。
これによれば、対向する2方向の測定距離に基づき、より高精度にロボット位置を補正することができる。
【0014】
さらに好ましくは、上記位置演算手段は、180°隔てられた2方向のうちの一方向の測定距離と補正座標から当該一方向に存在する固定対象物までの距離との間の誤差を第1誤差とし、他方向の測定距離と補正座標から当該他方向に存在する固定対象物までの距離との間の誤差を第2誤差とした時に、これら第1誤差と第2誤差が等しくなるように上記補正座標を決定する。
これによれば、より一層高精度にロボット位置を補正することができる。
【0015】
さらに好ましくは、上記位置演算手段は、180°隔てられた2方向のうちの一方向の測定距離と補正座標から当該一方向に存在する固定対象物までの距離との間の誤差を第1誤差とし、他方向の測定距離と補正座標から当該他方向に存在する固定対象物までの距離との間の誤差を第2誤差とした時に、上記第1誤差と第2誤差の比が上記2方向の測定距離の比と等しくなるように上記補正座標を決定する。
これによれば、距離測定手段での測定精度が測定距離が短いほど高いことを考慮して、より一層高精度にロボット位置を補正することができる。
【0016】
好ましくは、上記位置演算手段は、許容誤差範囲として小さな初期値を用いてロボットの位置および向きの特定を試み、特定できなかった場合には、許容誤差範囲を増大させて、ロボットの位置及び向きの特定を試みる。
これによれば、許容誤差範囲を小さくすることにより、ロボット位置検出の精度を高めることができる。
【0017】
さらに好ましくは、上記位置演算手段は、180°対向する2方向の測定距離の和が所定閾値より小さい場合には、この測定距離の和に1より小さい所定係数を乗じて、当該2方向に沿う座標軸における上記測定距離と演算距離の一致判断に用いられる許容誤差範囲の初期値を決定する。
これによれば、180°対峙する固定対象物の間隔が狭い場合に、その間隔に応じて許容誤差範囲を設定するので、ロボット位置検出の精度を高めることができる。
【0018】
好ましくは、上記固定対象物が建造物の壁面であり、上記ロボットの前後方向を壁面に対して平行または垂直に位置させた状態で、上記距離測定手段がロボットの前後左右の4方向のうち少なくとも2方向での壁面までの距離を測定し、上記位置演算手段は、上記ロボットの向きを90°離れた4つの方向で推定する。
上記構成によれば、限られた数の推定方向、測定方向での演算によりロボットの位置および向きを演算することができるので、演算処理の負担をより一層低減できる。
【0019】
好ましくは、上記ロボットは方位センサを有し、上記位置演算手段は、この方位センサからの方位情報によりロボットの向きを特定し、さらに上記位置演算手段は、上記ロボットの向きと距離測定手段による距離測定方向との相対的角度位置関係を認識し、上記探査エリアの多数の座標点を順々にロボットの実際の位置と推定し、推定された座標点毎に、推定座標点から複数の測定方向における固定対象物までの距離を演算し、この複数の測定方向での演算距離と測定距離とを比較し、両者が許容誤差範囲内で一致するか否かを判断し、一致と判断した時には、その推定座標点を現在のロボットの位置として特定し、特定されたロボットの位置と向きを上記ディスプレイに表示する。
上記構成によれば、方位センサを用いてロボットの向きを特定できるので、演算処理の負担をより一層低減できる。
【0020】
好ましくは、上記固定対象物が建造物の壁面であり、上記距離測定手段がロボットの前後左右の4方向のうち少なくとも2方向での壁面までの距離を測定する。
この構成によれば、限られた数の測定方向での演算により、ロボット位置の演算処理の負担をより一層低減できる。
【0021】
好ましくは、上記位置演算手段は、マップデータ上において、探査エリアの中心と推定座標点との間に壁面がある場合には当該推定座標点をロボットの現在位置と認識しない。
この構成によれば、位置演算を正確に行うことができるか又は演算処理の負担を軽減できる。
【発明の効果】
【0022】
本発明によれば、ロボットの位置確認をしながらロボットを遠隔制御でき、またロボットの現在位置を演算処理するための負担を軽減することができる。
【発明を実施するための最良の形態】
【0023】
以下、本発明のロボット位置検出システムを含む床下点検システムの第1実施形態について、図面を参照しながら説明する。図1、図2に示すように、床下点検システムは、ロボット10と、このロボット10を遠隔制御する遠隔制御装置20とを備えている。
【0024】
ロボット10は、クローラ11(走行体)と、このクローラ11に水平回動可能に搭載されたビデオカメラ12(撮影手段)と、このビデオカメラ12に取り付けられ、ビデオカメラ12と一緒に回動する超音波距離計13(距離測定手段)と、クローラ11に搭載された通信機14とを備えている。
【0025】
上記遠隔制御装置20は、装置本体としてのパソコン21(エリア指定手段、位置演算手段、カメラ制御手段、表示制御手段)と、このパソコン21に接続されたディスプレイ22、ジョイスティックコントローラ23(走行制御手段、カメラ制御手段)と、通信機24とを備えている。パソコン21にはキーボードやマウスも含まれるものとする。本実施形態では、通信機24は上記ロボット10の通信機14と無線で通信を行うが、光ファイバー等により有線で通信を行ってもよい。
【0026】
上記ジョイスティックコントローラ23の操作信号は、パソコン21で処理され通信機24を介して通信機14で受信され、クローラ11のモータドライバに送られ、クローラ11の前進、後退、左右への方向転換を行えるようになっている。
【0027】
また、操作者によるジョイスティックコントローラ23の操作や、キーボード、マウス、ディスプレイ22のタッチキー等の操作により、ビデオカメラ12を自在に回動操作できるようになっている。なお、パソコン21は、自動制御により、ビデオカメラ12のヘッド方向(すなわち距離計13の測定方向)を、クローラ11の特定方向例えば前後、左右方向と一致させることができ、これによりビデオカメラ12および距離計13のクローラ11に対する相対的角度位置関係を認識できるようになっている。なお、ビデオカメラ11および距離計13の回動位置情報をパソコン21に送ることにより、パソコン21でこの相対的角度位置を常時認識するようにしてもよい。
【0028】
ビデオカメラ12の映像信号や距離計13からの測定信号は、通信機14、24を介してパソコン21に送られるようになっている。映像はそのままディスプレイ22に表示される。
【0029】
図3は、点検対象となる建造物の1階のマップを示している。このマップにおいて太線は壁を表すが、この壁の位置は床下空間での布基礎(床下空間における壁、固定対象物)に対応している。換言すれば、この太線は床下空間の布基礎を表している。本実施形態では、紙面に描画されたマップが図示しないスキャナーで読み込まれ、パソコン21で画像編集ソフトを用いて画像処理され、マップデータとしてパソコン21の記憶媒体に記憶される。
【0030】
上記マップデータは、X−Y座標の多数の画素によるデータであり、布基礎に相当する画素が指定された色(例えば青)に色づけされている。なお、この布基礎はX座標軸またはY座標軸と平行になるように修正されている。
【0031】
次に、上記システムにより実行される床下点検の工程を、ロボット10の位置検出を中心にして、図4〜図6のフローチャートを参照しながら説明する。例えばリビングルームの床下空間を点検する場合について説明する。
【0032】
パソコン21は、操作者の操作により、初期状態すなわち図4のステップ100の操作待ち状態になる。
操作者がマップデータ読込の指令をパソコン21の操作により行うと、パソコン21は、記憶媒体からマップデータを読み込むとともに、このマップデータをディスプレイ22に表示し(ステップ101)、それからステップ100に戻る。表示されたマップデータは、図3のマップ(ただし、布基礎が青色をなしている)に相当する。
【0033】
次に、操作者がスケール設定の選択をパソコン21の手動操作により行う(ステップ102)。これに応答して、パソコン21は、マップデータの読込が有ったかどうか判断し(ステップ103)、ここで否定判断した時(ステップ101を予め実行していない時)には、ステップ100に戻り、肯定判断した時にはスケール値の入力を待つ。この際、スケール値の入力を促す表示をしてもよい。
【0034】
操作者はディスプレイ22に表示された図3のマップにおいて、スケール200の開始点201と終了点202を指定するとともに、このスケールの設定長さの数値を入力する(ステップ104)。パソコン21はこの入力を確認してステップ100に戻る。
パソコン21は、上記スケール200と設定長さの情報に基づき、上記マップの実寸(換言すればマップの縮尺)を認識することができる。
マップに建物の実寸が寸法線とともに表示されている場合には、表示された寸法線に合わせてスケールを描き、表示された実寸をスケールの設定長さとして入力してもよい。
【0035】
なお、上記ディスプレイ22においてスケール200を一定長さで表示しておき、操作者が設定長さの数値を入力してもよいし、これとは逆に、設定長さを一定にしておき、操作者がディスプレイ22にスケール200を入力してもよい。また、上記スケールではなく、マップの縮尺情報を数値として直接パソコンに入力してもよい。
【0036】
次に、操作者が壁面認識処理の選択をパソコン21の手動操作により行う(ステップ105)。これに応答してパソコン21は、スケール設定があったかどうか判断し(ステップ106)、否定判断した時にはステップ100に戻り、肯定判断した時には壁面認識処理を実行し(ステップ107)、その後でステップ100に戻る。
【0037】
上記ステップ107の壁面認識処理は、前述したように青に着色された画素を布基礎と認識することを意味する。なお、非着色の画素の隣にある着色された画素が布基礎の壁面を表している。本実施形態では、布基礎の両側面を壁面として認識する。なお、布基礎の中心(壁芯)を壁面として認識するようにしてもよい。いずれにしても壁面は、多数の画素の連なりとして認識される。
【0038】
上述したステップ101〜107は、位置推定の準備工程である。この準備工程と相前後して、ロボット1をリビングルームの床下まで運ぶ。例えば、図3に破線で示すように、ロボット10を台所の床下の地面に置き、ロボット10の前方をリビングに向ける。
【0039】
次に、ビデオカメラ13をロボットの前方を向くようにし、ビデオカメラ13からの映像をディスプレイ22で見ながらロボット10をリビングルームの床下まで前進させる。図3の破線で示す矢印A参照。
【0040】
操作者は、床下の映像を見てリビングルームの床下にロボット10が入ったことを確認した後で、位置推定の選択をパソコン21の手動操作により行う(ステップ108)。これに応答してパソコン21は、壁面認識を実行したかどうかを判断し(ステップ109)、否定判断した時にはステップ100に戻る。
【0041】
上記ステップ109で肯定判断した時にはステップ110に進み、ここで下記のメッセージをディスプレイ22に表示させる。
「周囲半径約3m内に壁面以外の障害物がないことを確認し、ロボットの向きを壁面におおよそ平行に位置させ、スキャンエリアを指定してください。」
【0042】
操作者は上記表示にしたがい、パソコン21の手動操作によりビデオカメラ12を360°回してディスプレイ22の映像を見ながら、布基礎(壁面)以外の障害物の有無をチェックする。障害物がある場合にはロボット10を移動させる。また、ロボット10の前後方向を布基礎の壁面とほぼ平行になるように向きを調節する(ステップ111)。なお、ロボット10の前後方向が壁面と垂直になるように調節してもよい。
【0043】
次に、操作者はパソコン21の手動操作により、図3に示すように、ディスプレイ22に表示されたマップ上でスキャンエリア300(探査エリア)の指定を行う(ステップ112)。このスキャンエリア300は、ロボット10の位置する可能性がある範囲を意味する。操作者はディスプレイ22に表示された床下の映像情報から、ロボット10の現在位置を大まかに推定できるからである。
【0044】
上記スキャンエリア300の画面上の広さまたは実際の広さは、予め決めておいてもよいし、操作者がこのステップ112において設定してもよい。スキャンエリア300の形状に制約は無いが、X,Y座標軸と平行な辺を有する正方形が好ましい。
【0045】
上記ディスプレイ22において、スキャンエリア300の中心301を表示してもよい。この場合、操作者はこの中心301を確認しながらスキャンエリア300を指定することができる。
【0046】
上記スキャンエリア300が指定されると、パソコン21は、以下に述べるロボット10の位置、向きの自動演算工程を実行する。最初に、距離計13により、ロボット10の前後方向および左右方向に位置する布基礎壁面までの距離を測定し、記憶する(ステップ113)。本実施形態では4方向であるが、例えば後ろ方向を省略して3方向の距離を測定してもよい。
【0047】
次に、推定方向の指定、変更を行う(ステップ114)。このステップ114における方向の推定とは、マップ上でのロボット10の向きの推定を意味する。例えば、ロボット10の前方向が0°(表示されたマップの上方向)、90°(右方向)、180°(下方向)、270°(左方向)と一致することを順次推定する。
【0048】
ステップ114において、最初はロボット10の前方向が0°(マップの上方向)と一致すると推定する。
【0049】
次に、ステップ115に進み、スキャンエリア300内の探査座標点の推定、変更を行う。前述したように操作者が指定したスキャンエリア300はロボット10が位置する可能性がある範囲を意味するから、このスキャンエリア300にX,Y座標軸に沿ってマトリックス状(碁盤目状)に配置された座標点を、それぞれロボット10の現在位置と推定した時に、測定距離データとマップデータとを比較し、一致する場合には、推定した座標点をロボット10の現在位置と認識するのである。
【0050】
上記探査座標点は、ディスプレイ22の画素毎に配列してもよいし、実際の所定寸法毎に配列してもよい。
【0051】
上記探査座標点のスキャンは例えば次のようにして行われる。スキャンエリア300において左上隅の座標点から始まり右方向に順にスキャンし、その列が終わったらその下の列の座標点を左から順にスキャンし、最後の座標点が右下隅の座標点となる。
【0052】
後述するように、本実施形態では途中でロボット10の現在位置に相当する座標点が見つかった場合には、残りの座標点のスキャンを省略し、演算の負担を軽減できるようになっている。
【0053】
上記ステップ115の後に実行されるステップ116〜131は、ロボット10がマップ上において推定された方向を向き、ロボット10の現在位置がスキャンエリア300において推定された座標点にあると仮定した時に、測定距離情報とマップデータとを照合するものである。最初はロボット10がマップにおいて上を向き、スキャンエリア300の左上隅に位置すると推定した場合の照合である。
【0054】
ステップ116では、ロボット10の前方向の測定距離が測定可能な範囲か否かを判断する(ステップ116)。超音波距離計13の場合、例えば3mが測定可能な範囲であるが、測定距離が3.5mとなった場合には、ここで否定判断される。なお、距離計13自身で距離情報の代わりにこの測定不能範囲にあるか否かの信号を送るようにしてもよい。
【0055】
上記ステップ116で否定判断した場合には、マップ上において探査座標点から前方の測定可能範囲の距離において、壁面が無いか否かを判断する(ステップ117)。ここで否定判断した場合、すなわち壁面ありと判断した場合には、ステップ115に戻り探査座標を変更する。すなわち、上記推定した方向および座標点では測定距離情報とマップデータが一致しないからである。
【0056】
上記ステップ117での肯定判断は、測定距離と、マップデータにおける探査座標と壁面との間の距離が、一致したとの判断を意味する。
【0057】
上記ステップ116で肯定判断した時(測定距離が測定可能な範囲であると判断した時)にはステップ118に進み、測定された前方向の壁面までの距離が、マップデータで演算した距離と一致するか否かを判断する。
【0058】
上記演算距離は、マップ上での探査座標点から壁面までの距離である。測定方向はX座標軸またはY座標軸に平行であるから、この演算距離はX座標軸またはY座標軸に沿う画素数を数えて所定係数を乗じれば良く、簡単に演算できる。
【0059】
上記ステップ118では測定距離と演算距離の差が所定の許容誤差範囲±α0(―α0から+α0)内であれば一致すると判断する。なお、α0は許容誤差の絶対値を表す。ここで一致と判断しない場合には、ステップ115に戻り探査座標点を変更する。所定の許容誤差範囲±α0は、距離計13の測定誤差より大きく設定する。スケール設定時の誤差やロボット10の向きのずれ(壁面に対して直角または平行な向きからのずれ)を考慮するためである。例えば距離計13の測定誤差が±100mmの場合、許容誤差範囲はその2倍以上の±250mmに設定する。
【0060】
上記ステップ118で肯定判断した場合にはステップ119に進み、探査座標点から前方向の測定距離内において、マップ上に他の壁面が無いか否かを判断する。ここで壁面ありと判断したときには、ステップ115に戻り探査座標点を変更する。
【0061】
上記ステップ119の意味を図7を参照しながら説明する。図7において2つの矢印は測定距離Dを示す。距離計13は、ロボット10が実際にいる位置から最も近い壁面W1までの距離Dを測定する。
【0062】
他方、マップデータに基づき演算される距離は、探査座標点から壁面W1までの距離と、壁面W2までの距離を含め複数ある。ロボット10が実際にいる位置から離れた座標点を探査座標点とした場合には、他の壁面W2までの距離がDであると、測定距離と演算距離が一致してしまい、誤認の可能性が生じる。
そこで、この探査座標点から距離Dまでの間に壁面W1がある場合には、ステップ119で否定判断し、測定距離とマップデータの一致性を否定するのである。
【0063】
なお、本実施形態では壁面W1,W2を識別しないためステップ119が必要であるが、マップにおいて探査座標点とこの探査座標点に最も近接する壁面との距離だけを演算距離として特定する場合には、このステップ119は省略してもよい。
【0064】
上記ステップ117またはステップ119で肯定判断した場合、すなわちロボット10の前方向での測定距離とマップデータに基づく演算距離が一致していると判断した場合には、ロボット10の右方向について、上記ステップ116〜119と同様のステップ120〜123を実行する。
【0065】
上記ステップ121またはステップ123で肯定判断した場合、すなわちロボット10の右方向での測定距離とマップデータに基づく演算距離が一致していると判断した場合には、左方向について、上記と同様のステップ124〜127を実行する。
【0066】
上記ステップ125またはステップ127で肯定判断した場合、すなわちロボット10の左方向での測定距離とマップデータに基づく演算距離が一致していると判断した場合には、後方向について上記と同様のステップ128〜131を実行する。
【0067】
上記ステップ129またはステップ131で肯定判断した場合、すなわちロボット10の後ろ方向での測定距離とマップデータに基づく演算距離が一致していると判断した場合(前後左右の全方向で一致していると判断した場合)には、ステップ132に進む。
【0068】
ステップ132では、マップにおいて、スキャンエリア300の中心301から探査座標点(すなわちロボット10の推定位置)までに壁面がないかどうかを確認する。
【0069】
上記ステップ132の意味を図3を参照しながら説明する。操作者は、ロボット10がリビングルームの床下に位置していると判断してスキャンエリア300を指定している。すなわちリビングルームの隣の和室の床下ではないことは明らかである。それにも拘わらず、スキャンエリアRは和室にまで及んでいる。この場合、和室に探査座標点がある場合にはたとえ距離情報が一致していても、その一致性を否定する。より具体的には、和室内に探査座標点がある場合には、スキャンエリア300の中心301と探査座標点との間に壁面が介在される。これをマップデータから読み取って、否定判断するのである。
【0070】
なお、上記ステップ132は、ステップ115とステップ116の間で実行してもよい。この場合、ステップ132で否定判断した時には前後左右方向の測定距離と演算距離を比較する工程(ステップ116〜131)を省くことができる。
【0071】
上記ステップ131で否定判断した場合およびステップ132で否定判断した場合には、ステップ133に進み、スキャンエリア300の全座標点についての探査が終了したか否かを判断する。ここで否定判断した時にはステップ115に戻り探査座標点を変更して、上記と同様にステップ116〜132を繰り返す。
【0072】
そして、スキャンエリア300の全座標点で測定距離データとマップデータの一致が無い場合には、ステップ133で肯定判断してステップ134に進み、全ての推定方向での探が終了したか否かを判断する。
【0073】
上記ステップ134で否定判断した時には、ステップ114に戻り、ここで推定方向を変更する。例えば、ロボット10の前方向が0°であると推定してスキャンエリア300の全座標点で測定距離データとマップデータが一致しなかった場合には、ロボット10の前方向を90°に推定し、再び上述したステップ115〜133を実行する。
【0074】
推定方向を90°に変更しても測定距離データとマップデータが一致しない場合には、推定方向を180°、270°に順次変更して上記ステップ115〜133を実行する。
【0075】
そして、4つの推定方向でも測定距離データとマップデータが一致する探査座標点が見つからなかった時にはステップ135に進み、ディスプレイ22に「一致する箇所がありませんでした。」のメッセージを表示して、ステップ100に戻る。
【0076】
上記ステップ132で肯定判断した場合にはステップ136に進み、推定した方向および座標点がロボット10の実際の方向及び位置であると認識し、ディスプレイ22のマップ上に、ロボット10の位置と方向を示すマーク400を表示する。図3のマーク400は、ロボット10の前方向がマップにおいて下方向(180°)であることを示している。
【0077】
次に、ステップ137に進み、ここで「別の一致する位置を探査しますか?」のメッセージをディスプレイ22に表示する。このステップ137は、マーク400で表示されたロボット10の位置が、操作者がビデオカメラで観察して大まかに把握しているロボット10の位置と相違している場合や、念を入れてロボットの位置を確認したい場合を想定して組み込まれている。
【0078】
操作者が「はい」を選択すると、次のステップ138で肯定判断し、ステップ133に戻ってスキャンエリア300の残りの座標点について探査を行う。この際、実際の位置と認識した座標点からX、Y座標軸方向に所定距離(例えば所定の許容誤差範囲2α0またはそれに所定倍数乗じた距離)進んだ座標(離れた座標)から照合を再開する。
【0079】
操作者が「はい」を選択しない時にはステップ139に進み、「この位置を履歴に残しますか?」のメッセージを表示する。
【0080】
操作者が「はい」を選択すると、ステップ140で肯定判断してステップ141に進み、ここで上記ロボット10の位置および方向を記憶するとともに、矢印400の表示状態を維持する。
【0081】
そして、ステップ141を実行後またはステップ140で否定した場合には、ステップ100に戻る。なお、ステップ140で否定判断した場合にはマーク400はディスプレイ22から消去される。
【0082】
上記のようにしてディプレイ22に表示されたマーク400によりロボット10の位置および方向を認識した操作者は、さらにロボット10を走行させ、同様にして位置検出を実行してディスプレイ22にマーク400’を表示させる。
【0083】
上記のように、操作者はディスプレイ22でロボット10の現在位置と向きを認識しながら、ロボット10の走行制御を行うことができるとともに、ビデオカメラ12の映像により布基礎の壁面の状態を点検することができる。そのため、布基礎の壁面に異常がある場合には、その箇所を正確に特定できる。また、位置確認ができずにロボット10を戻すことが困難になるような不都合も生じない。
【0084】
上記布基礎の壁面に異常を発見した場合には、その箇所をディスプレイ22に表示し、その異常個所の位置と映像を記憶するようにしてもよい。
【0085】
上記説明では、ロボット10を台所床下の地面に置いてしばらく走行させてからリビングルームの位置検出を行なったが、最初にロボット10を置いた場所で位置検出を行うようにしてもよいことは勿論である。
ディスプレイ22は、ビデオカメラ12からの映像とマップとを別の領域に表示してもよいし、操作により映像とマップを切り替えて表示してもよい。
【0086】
上記第1実施形態では、より高精度の位置検出を要求される場合に、下記のような改良すべき点がある。
第1に、第1実施形態では、推定した方向において推定した座標点から一番近い壁までのマップ上での演算距離と測定距離との差が許容誤差範囲内であれば、両者が一致したと判断し、それ以降探査エリアの残りの座標点でのスキャンを省略する。そのため、許容誤差範囲を広く取るとロボット10の現在位置として認識した位置(以下、検出位置と称す)が、許容誤差範囲ではあるが実際の位置からずれてしまう。
【0087】
第2に、第1実施形態では、ロボット10が2つの壁面に挟まれた狭い空間に位置する場合には、これら壁面と直交する座標軸上の広い範囲の座標点で、測定距離と演算距離が許容誤差範囲で一致してしまう。
【0088】
第3に、第1実施形態では、測定距離が例えば3m以上であると測定範囲外とするが、マップ上でも推定座標点から一番近い壁までの演算距離が3m以上であれば、測定距離と演算距離が一致すると判断する。この場合、例えばロボット10が広い空間に位置し、前後左右とも壁面から遠い場合には、探査エリアの最初の推定方向、推定座標点で、測定距離と演算距離が全方向に一致と判断し、この推定方向および推定座標点をロボット10の現在の方向、位置と認識してしまう。
【0089】
本発明の第2実施形態は、上記第1実施形態における改良すべき点を鑑み、より高精度にロボット10の位置検出を行えるようにしたものであり、図4〜図6に示す第1実施形態の演算フローをそのまま用い、これに図8〜図10に示すフローを追加することにより構成される。以下、詳述する。
【0090】
図4のステップ113で全方向(前後左右方向)の距離を測定した後、図8のフローを実行する。まず、距離計13の全方向の測定距離が測定可能な範囲外(例えば3m以上)か否かを判断する(ステップ150)。このステップ150で肯定判断した場合には、ステップ151に進み下記のメッセージを表示してからステップ100に戻る。
「壁面に近寄り(距離計の測定可能範囲内)、位置検知操作を行ってください。」
【0091】
操作者は、上記メッセージにしたがい、ロボットを制御して少なくとも1つの壁面の近傍に位置変更してから、再度ステップ108の選択を実行する。
これにより、第1実施形態の第3の改良すべき点を克服することができる。
【0092】
上記ステップ150で否定判断した時、すなわち少なくとも一方向での測定距離が測定可能範囲であると判断した時には、前後方向、左右方向の少なくとも一方において、測定距離の和が所定閾値、例えば上記所定の許容誤差範囲±α0の幅2α0より小さいか否かを判断する(ステップ152)。
【0093】
図11を参照しながら説明すると、ロボット10の前後方向、左右方向の少なくとも一軸に沿って壁面A,Bが対峙する状況において、当該軸に沿う2つの方向の測定距離をDa,Dbとした場合、下記式が成立するか否かを判断する。
Da+Db<2α0・・・(1)
所定の許容誤差範囲±α0を±250mmとした場合、対向する壁面A,Bの間隔(すなわちDa+Db)が500mm未満の場合には、上記式(1)を満たすことになる。
【0094】
壁面A,B間が狭く、上記式(1)の条件を満たす場合には、上記ステップ152で肯定判断してステップ153に進み、ここで、該当する方向の許容誤差範囲±αの最小値±αminと最大値±αmaxを設定する。ここでαminとαmaxは、測定距離の和より小さい値に設定され、例えばαminは上記測定距離の和に係数0.3を乗じ、αmaxは係数0.7を乗じることにより得る。
【0095】
なお、前後方向の測定距離の和だけが上記式(1)を満たす場合には、この前後方向の許容誤差範囲についてだけ最小値±αminと最大値±αmaxを設定し、左右方向の許容誤差範囲については上記所定の許容誤差範囲±α0を維持する。
同様に、左右方向の測定距離の和だけが上記式(1)を満たす場合には、この左右方向の許容誤差範囲についてだけ最小値±αminと最大値±αmaxを設定し、前後方向の許容誤差範囲については上記所定の許容誤差範囲±α0を維持する。
前後方向、左右方向について上記式(1)を満たす場合には、各方向の許容誤差範囲の最小値±αminと最大値±αmaxを対応する方向の測定距離の和に応じて設定する。
【0096】
上記のようにステップ153で許容誤差範囲の最小値±αminと最大値±αmaxを設定した後、第1実施形態で説明したように図4のステップ114以下の演算を実行する。
なお、ステップ152で否定判断した場合、すなわち前後方向、左右方向に対峙する壁面間の間隔が広く、上記式(1)を満足しないと判断した時には、ステップ153を実行せず(換言すれば許容誤差範囲を所定値±α0に維持したまま)、ステップ114以下の演算を実行する。
【0097】
図5のステップ118、122、126、130では、上記のようにして設定された許容誤差範囲を用いて測定距離と演算距離の一致性を判断する。狭い間隔で対峙する壁面間にロボットが位置する場合には、対峙方向の許容誤差範囲の初期値は最小値±αminとする。このように、狭い許容誤差範囲を用いることによりロボット10の位置検出精度を高めることができ、上述した第2の改良すべき点を克服できる。
【0098】
スキャンエリアの全座標点の探査を終了し、全方向の探査を終了しても、一致座標点を見出せない時には、図6のステップ133,134で肯定判断することになるが、この時、第1実施形態のように即座にステップ135を実行するのではなく、図9のステップ160,161を実行する。
【0099】
ステップ160では、上記式(1)を満たす方向における許容誤差範囲を初期値±αminから設定量(例えば100mm)だけ増加させて許容誤差範囲を±(αmin±100mm)にし、次にこの許容誤差範囲が最大値±αmaxを超えたか否かを判断する(ステップ161)。超えていない場合には、ステップ161で否定判断し、ステップ114に戻り探索を繰り返す。
許容誤差範囲を設定量ずつ増やしながら上記探索を繰り返しても一致座標点が見出せず、ステップ161で肯定判断した場合には、図6のステップ135に進む。
【0100】
なお、上記許容誤差範囲の増加量は、αmaxとαminの差に1より小さい乗数を乗じることにより得てもよい。
【0101】
本実施形態において、ステップ152は省略してもよい。この場合、ステップ153の代わりに、2軸方向における許容誤差範囲を、無条件で小さな初期値(最小値)に設定し、段階的に所定量ずつ増加させ、所定の最大値に達しても一致座標点を見出せない場合には、ステップ135に進むようにしてもよい。
上記許容誤差範囲の初期値(最小値)、最大値、増加量は、操作者が任意に設定できるようにしてもよい。
また、距離計13の測定距離が短ければ測定誤差も小さいので、測定距離に応じて許容誤差範囲を設定してもよい。
【0102】
第2実施形態では、さらに高精度の位置検出を行うために、図6のステップ132とステップ136との間で、図10のステップ170〜181を実行する。このフローは、上記ステップ114〜ステップ132により特定されたロボット10の現在位置(検知位置)のX座標、Y座標のうち、少なくとも一方を補正するためのものである。
【0103】
ステップ170では前後左右のうちいずれか1方向のみで測定可能範囲内か否かを判断する。ここで肯定判断した場合にはステップ171に進み、当該測定可能な方向の測定距離とマップデータに基づき、当該方向に沿う座標軸における検知位置の座標を補正する。
【0104】
図12を参照して説明すると、検知座標点とこの検知座標点に最も近い壁面との間の距離は、測定距離Dに対して所定の許容誤差範囲±α0内の誤差を有している。そこで、上記測定可能な方向に沿う座標軸において、検知座標点から上記壁面までの距離が測定距離Dになるように、検知座標点を補正する。
なお、上記座標軸と直交する座標軸上の検知座標は補正できない。
【0105】
ステップ170で否定判断した場合には、ステップ172で隣り合った2方向(90°間隔をなす2方向)のみ測定可能範囲か否かを判断する。
なお、上記ステップ171を実行した場合には、その後でこのステップ172を実行してもよいし、ステップ136へとジャンプしてもよい。
【0106】
上記ステップ172で肯定判断した場合にはステップ173に進み、上記測定可能な2方向の測定距離とマップデータに基づき、当該2方向に沿う2座標軸の検知座標点を補正する。
図13を参照して説明すると、検知座標とこの検知座標に最も近い2つの壁面との間の距離は、測定距離D1、D2に対して所定の許容誤差範囲±α0内の誤差を有している。そこで、上記測定可能な2方向で検知座標から上記壁面までの距離が測定距離D1、D2になるように、検知座標を補正する。
【0107】
上記ステップ172で否定判断した場合には、ステップ174で前後の両方向が測定範囲可能範囲か否かを判断する。
なお、上記ステップ173を実行した場合には、その後でこのステップ174を実行してもよいし、ステップ136へとジャンプしてもよい。
【0108】
上記ステップ174で肯定判断した場合にはステップ175に進み、前後方向の測定距離とマップデータに基づき、前後方向に沿う座標軸における検知座標点を補正する。
詳述すると、図14(A)に示すように、検知座標点とこの検知座標点に最も近い前方および後方の2つの壁面との間の距離は、測定距離Df、Drに対して所定の許容誤差範囲±α0の誤差を有している。そこで、図14(B)に示すように、検知座標点から前方の壁面までのマップ上の距離Df’と測定距離Dfとの間の誤差を第1誤差βfとし、検知座標点から後方の壁面までのマップ上の距離Dr’と測定距離Drとの間の誤差を第2誤差βrとした時、第1誤差βfと第2誤差βrが等しくなるように、検知座標点を補正する。
【0109】
図14(B)の補正を、数式演算で求める場合、下記式(2)から求める。
補正座標=Xo+{(Df−Dfo)+(Dr−Dro)}/2 ・・・(2)
但し、Xoは検知座標、Dfoは検知座標から前方の壁までの演算距離、Droは検知座標から後方の壁までの演算距離である。
【0110】
上記ステップ175を実行した後でステップ176に進み、ここで左と右のどちらか一方のみが測定可能範囲か否かを判断する。このステップ176で肯定判断した場合には、左右方向に沿う座標軸における検知座標点を補正する(ステップ177)。この補正は、左右いずれか一方の測定距離とマップデータに基づき行うが、ステップ171、図12と同様であるので説明を省略する。
【0111】
上記ステップ174、176で否定判断した場合には、ステップ178で左右の両方向が測定範囲可能範囲か否かを判断する。
なお、上記ステップ177を実行した場合には、その後でこのステップ178を実行してもよいし、ステップ136にジャンプしてもよい。
【0112】
上記ステップ178で肯定判断した場合には、左右方向の測定距離とマップデータに基づき、左右方向に沿う座標軸における検知座標点の補正を行う。この補正は、ステップ175、図14と同様であるので説明を省略する。
【0113】
ステップ175を実行せずステップ179を実行する場合には、左右方向に沿う座標軸における検知座標点の補正だけを行なうことになる。ステップ175とステップ179を実行する場合には、4方向の測定距離に基づき2座標軸における検知座標点の補正を行うことになる。
【0114】
ステップ179を実行した後、ステップ180で前と後のどちらか1方向のみが測定可能範囲か否かを判断する。ここで肯定判断した時には、ステップ181で当該1方向の測定距離とマップデータに基づき、前後方向に沿う座標軸における検知座標点を補正する。なお、この補正はステップ171、図12と同様であるので説明を省略する。
上記ステップ181を実行した場合には、3方向での測定距離に基づき、2座標軸における検知座標点の補正を行うことができる。
【0115】
上記ステップ181を実行した後、図6のステップ136に進む。なお、ステップ178,180で否定判断した時にも図6のステップ136に進む。
【0116】
上記第2実施形態のステップ175,179において、第1誤差βfと第2誤差βrの比を両方向の測定距離Df、Drの比に一致させるように、検知座標点を補正してもよい。図14(B)および下記式参照。
βf/βr=Df/Dr ・・・(3)
この検知座標点の補正は、測定距離が短いほど測定誤差が小さいことを勘案したものである。
【0117】
本発明は上記実施形態に制約されず、種々の態様を採用可能である。例えば、上記実施形態では、ロボットの前後方向を壁面に対して平行または垂直にしたが、演算処理の負担が増えてもよい場合には、このロボットの姿勢は制約されず、壁面に対して斜めであってもよい。この場合には、推定方向を細かい角度間隔例えば10°間隔にすればよい。このような演算を行う場合、斜めをなす壁面が多くあってもロボット位置、向きを正確に演算できる。
【0118】
ロボットが方位センサを備えていてもよい。この場合、パソコン21は方位センサの方位情報によりロボットの向きを特定できるので、ロボットの向きを複数方向に推定する必要がなく、例えば前述した実施形態におけるステップ114を省くことができ、演算を簡略化できる。この方位センサの方位情報を用いれば、壁面に対してロボットの姿勢を斜めにしたり、斜めをなす壁面が多くある場合でも、推定方向を細かい角度間隔にせずに、ロボットの位置と向きを正確に演算できる。
【0119】
なお、上記方位センサの方位情報を、前述の実施形態においてステップ136で特定した方向と照合し、方向演算を確実に行うようにしてもよい。
【0120】
上記実施形態ではロボットの前後左右の4方向または3方向の測定距離データを求めたが、例えば90°間隔離れた2方向の測定距離データを求めてもよい。
また、90°より細かい角度間隔で距離測定を行って、多数の測定距離データを得てもよい。この場合、これら測定距離データから壁面形状を求め、これとマップデータ上の壁面形状とを照合させることにより、ロボットの位置、向きを求めてもよい。
【0121】
上記実施形態ではマップデータを紙面に描いたマップをスキャニングして得たが、パソコンにマップデータを直接入力するようにしてもよい。
【0122】
超音波距離計の代わりにレーザー距離計を用いてもよい。
距離計をビデオカメラから独立して回動させるようにしてもよい。また距離計を回動させずに、異なる方向の距離を測定する複数例えば2つ〜4つの距離計をロボットの固定位置に配置してもよい。また、1個のスキャン型距離計により、例えば180°の角度範囲における所定角度間隔毎の多数の測定距離データを得てもよい。
【0123】
走行体はクローラの代わりにタイヤ式のものを用いてもよい。
走行制御はパソコンに付属のマウス等で行ってもよい。
【0124】
本発明は床下の点検システムに適用したが、建造物で障害物がない室内空間の点検システムに適用してもよい。この場合、部屋を仕切る壁面のマップデータが用いられる。
本発明は、建造物以外でも対象物の位置が固定的である空間例えば工場プラント内を走行するロボットの位置検出に用いることもできる。
本発明は、点検以外の種々の用途に用いることもできる。
【図面の簡単な説明】
【0125】
【図1】本発明のロボット位置検出システムを、床下点検システムに適用した第1実施形態を示す概略側面図である。
【図2】同床下点検システムのロボットの概略平面図である。
【図3】同システムのディスプレイに表示された点検対象となる床下のマップを示す図である。
【図4】同システムのパソコンで実行されるロボット位置検出のためのフローチャートの前段部分を示す図である。
【図5】同フローチャートの中段部分を示す図である。
【図6】同フローチャートの後段部分を示す図である。
【図7】同フローチャートの一ステップの意味を説明する図である。
【図8】本発明の第2実施形態において、図4〜6のフローに組み込まれるステップを示す図である。
【図9】同第2実施形態において、図4〜6のフローに組み込まれるステップを示す図である。
【図10】同第2実施形態において、図4〜6のフローに組み込まれるステップを示す図である。
【図11】同第2実施形態において、狭い間隔をなす壁面間にロボットが位置した状態を示す概略平面図である。
【図12】同第2実施形態において、1方向の測定距離に基づき、1座標軸における検知座標点を補正する工程を説明する概略図である。
【図13】同第2実施形態において、隣り合う2方向の測定距離に基づき、2座標軸における検知座標点を補正する工程を説明する概略図である。
【図14】同第2実施形態において、対向する2方向の測定距離に基づき、1座標軸における検知座標を補正する工程を説明する概略図である。
【符号の説明】
【0126】
10 ロボット
11 クローラ(走行体)
12 ビデオカメラ(撮影手段)
13 距離計(距離測定手段)
20 遠隔制御装置
21 パソコン(エリア指定手段、位置演算手段、表示制御手段)
22 ディスプレイ
23 ジョイスティックコントローラ(走行制御手段、カメラ制御手段)
300 探索エリア
【特許請求の範囲】
【請求項1】
ロボットと遠隔制御装置とを備え、
上記ロボットは、走行体と、この走行体に搭載された撮影手段と、ロボットから固定対象物までの距離を複数方向で測定する距離測定手段とを有し、
上記遠隔制御装置は、
(ア)上記ロボットの走行体を制御する走行制御手段と、
(イ)上記撮影手段からの映像を表示し、かつ上記固定対象物の位置情報を含むマップデータに基づいてマップを表示するディスプレイと、
(ウ)上記ディスプレイに表示されたマップにおいて、探査エリアを指定するエリア指定手段と、
(エ)上記ロボットの現在位置が上記探査エリアにあるとの条件で、上記距離測定手段からの複数方向の測定距離情報と上記マップデータに基づき、現在のロボット位置を演算し、このロボット位置をディスプレイに表示させる位置演算手段と、
を備えたことを特徴とするロボット位置検出システム。
【請求項2】
上記位置演算手段は、上記ロボットの向きと上記距離測定手段による距離測定方向との相対的角度位置関係を認識し、この相対的角度位置情報と上記測定距離情報と上記マップデータに基づいてロボットの向きをも演算し、このロボットの向きをディスプレイに表示させることを特徴とする請求項1に記載のロボット位置検出システム。
【請求項3】
上記位置演算手段は、上記マップ上での上記ロボットの向きを推定するとともに、上記探査エリア内でのロボットの位置を推定し、マップ上でのロボットの推定位置から複数方向の固定対象物までの距離を演算し、複数の測定方向での演算距離と測定距離が許容誤差範囲内で一致した時には、推定したロボットの向きおよび位置を現在のロボットの向きおよび位置として特定することを特徴とする請求項2に記載のロボット位置検出システム。
【請求項4】
上記位置演算手段は、上記探査エリアの多数の座標点を順々にロボットの位置と推定し、推定された座標点毎に、複数の測定方向での演算距離と測定距離とが許容誤差範囲内で一致するか否かを判断し、上記探査エリアの全ての座標点で一致を確認できない時には、上記ロボットの向きを異なる方向に推定して、探査エリアの多数の座標点での上記演算および判断を繰り返すことを特徴とする請求項3に記載のロボット位置検出システム。
【請求項5】
上記位置演算手段は、現在のロボットの向きおよび位置を特定した後、少なくとも1つの測定方向での測定距離と、同方向に存在するマップ上の固定対象物の位置に基づき、同方向に沿う座標軸におけるロボットの座標を補正することを特徴とする請求項3または4に記載のロボット位置検出システム。
【請求項6】
上記位置演算手段は、補正座標から固定対象物までの距離が上記測定距離と一致するように、補正座標を決定することを特徴とする請求項5に記載のロボット位置検出システム。
【請求項7】
上記位置演算手段は、90°隔てられた2方向での測定距離と、当該2方向に存在するマップ上の固定対象物の位置に基づき、当該2方向にそれぞれ沿う2つの座標軸におけるロボットの座標を補正することを特徴とする請求項5または6に記載のロボット位置検出システム。
【請求項8】
上記位置演算手段は、180°隔てられた2方向の測定距離と、当該2方向に存在するマップ上の固定対象物の位置に基づき、当該2方向に沿う座標軸におけるロボットの座標を補正することを特徴とする請求項5に記載のロボット位置検出システム。
【請求項9】
上記位置演算手段は、180°隔てられた2方向のうちの一方向の測定距離と補正座標から当該一方向に存在する固定対象物までの距離との間の誤差を第1誤差とし、他方向の測定距離と補正座標から当該他方向に存在する固定対象物までの距離との間の誤差を第2誤差とした時に、これら第1誤差と第2誤差が等しくなるように上記補正座標を決定することを特徴とする請求項8に記載のロボット位置検出システム。
【請求項10】
上記位置演算手段は、180°隔てられた2方向のうちの一方向の測定距離と補正座標から当該一方向に存在する固定対象物までの距離との間の誤差を第1誤差とし、他方向の測定距離と補正座標から当該他方向に存在する固定対象物までの距離との間の誤差を第2誤差とした時に、上記第1誤差と第2誤差の比が上記2方向の測定距離の比と等しくなるように上記補正座標を決定することを特徴とする請求項8に記載のロボット位置検出システム。
【請求項11】
上記位置演算手段は、許容誤差範囲として小さな初期値を用いてロボットの位置および向きの特定を試み、特定できなかった場合には、許容誤差範囲を増大させて、ロボットの位置及び向きの特定を試みることを特徴とする請求項3〜10のいずれかに記載のロボット位置検出システム。
【請求項12】
上記位置演算手段は、180°対向する2方向の測定距離の和が所定閾値より小さい場合には、この測定距離の和に1より小さい所定係数を乗じて、当該2方向に沿う座標軸における上記測定距離と演算距離の一致判断に用いられる許容誤差範囲の初期値を決定することを特徴とする請求項11に記載のロボット位置検出システム。
【請求項13】
上記固定対象物が建造物の壁面であり、上記ロボットの前後方向を壁面に対して平行または垂直に位置させた状態で、上記距離測定手段がロボットの前後左右の4方向のうち少なくとも2方向での壁面までの距離を測定し、上記位置演算手段は、上記ロボットの向きを90°離れた4つの方向で推定することを特徴とする請求項3〜12のいずれかに記載のロボット位置検出システム。
【請求項14】
上記ロボットは方位センサを有し、上記位置演算手段は、この方位センサからの方位情報によりロボットの向きを特定し、
上記ロボットは方位センサを有し、上記位置演算手段は、この方位センサからの方位情報によりロボットの向きを特定し、さらに上記位置演算手段は、上記ロボットの向きと距離測定手段による距離測定方向との相対的角度位置関係を認識し、上記探査エリアの多数の座標点を順々にロボットの実際の位置と推定し、推定された座標点毎に、推定座標点から複数の測定方向における固定対象物までの距離を演算し、この複数の測定方向での演算距離と測定距離とを比較し、両者が許容誤差範囲内で一致するか否かを判断し、一致と判断した時には、その推定座標点を現在のロボットの位置として特定し、特定されたロボットの位置と向きを上記ディスプレイに表示することを特徴とする請求項1に記載のロボット位置検出システム。
【請求項15】
上記固定対象物が建造物の壁面であり、上記距離測定手段がロボットの前後左右の4方向のうち少なくとも2方向での壁面までの距離を測定することを特徴とする請求項11に記載のロボット位置検出システム。
【請求項16】
上記位置演算手段は、マップデータ上において、探査エリアの中心と推定座標点との間に壁面がある場合には当該推定座標点をロボットの現在位置と認識しないことを特徴とする請求項13または15に記載のロボット位置検出システム。
【請求項1】
ロボットと遠隔制御装置とを備え、
上記ロボットは、走行体と、この走行体に搭載された撮影手段と、ロボットから固定対象物までの距離を複数方向で測定する距離測定手段とを有し、
上記遠隔制御装置は、
(ア)上記ロボットの走行体を制御する走行制御手段と、
(イ)上記撮影手段からの映像を表示し、かつ上記固定対象物の位置情報を含むマップデータに基づいてマップを表示するディスプレイと、
(ウ)上記ディスプレイに表示されたマップにおいて、探査エリアを指定するエリア指定手段と、
(エ)上記ロボットの現在位置が上記探査エリアにあるとの条件で、上記距離測定手段からの複数方向の測定距離情報と上記マップデータに基づき、現在のロボット位置を演算し、このロボット位置をディスプレイに表示させる位置演算手段と、
を備えたことを特徴とするロボット位置検出システム。
【請求項2】
上記位置演算手段は、上記ロボットの向きと上記距離測定手段による距離測定方向との相対的角度位置関係を認識し、この相対的角度位置情報と上記測定距離情報と上記マップデータに基づいてロボットの向きをも演算し、このロボットの向きをディスプレイに表示させることを特徴とする請求項1に記載のロボット位置検出システム。
【請求項3】
上記位置演算手段は、上記マップ上での上記ロボットの向きを推定するとともに、上記探査エリア内でのロボットの位置を推定し、マップ上でのロボットの推定位置から複数方向の固定対象物までの距離を演算し、複数の測定方向での演算距離と測定距離が許容誤差範囲内で一致した時には、推定したロボットの向きおよび位置を現在のロボットの向きおよび位置として特定することを特徴とする請求項2に記載のロボット位置検出システム。
【請求項4】
上記位置演算手段は、上記探査エリアの多数の座標点を順々にロボットの位置と推定し、推定された座標点毎に、複数の測定方向での演算距離と測定距離とが許容誤差範囲内で一致するか否かを判断し、上記探査エリアの全ての座標点で一致を確認できない時には、上記ロボットの向きを異なる方向に推定して、探査エリアの多数の座標点での上記演算および判断を繰り返すことを特徴とする請求項3に記載のロボット位置検出システム。
【請求項5】
上記位置演算手段は、現在のロボットの向きおよび位置を特定した後、少なくとも1つの測定方向での測定距離と、同方向に存在するマップ上の固定対象物の位置に基づき、同方向に沿う座標軸におけるロボットの座標を補正することを特徴とする請求項3または4に記載のロボット位置検出システム。
【請求項6】
上記位置演算手段は、補正座標から固定対象物までの距離が上記測定距離と一致するように、補正座標を決定することを特徴とする請求項5に記載のロボット位置検出システム。
【請求項7】
上記位置演算手段は、90°隔てられた2方向での測定距離と、当該2方向に存在するマップ上の固定対象物の位置に基づき、当該2方向にそれぞれ沿う2つの座標軸におけるロボットの座標を補正することを特徴とする請求項5または6に記載のロボット位置検出システム。
【請求項8】
上記位置演算手段は、180°隔てられた2方向の測定距離と、当該2方向に存在するマップ上の固定対象物の位置に基づき、当該2方向に沿う座標軸におけるロボットの座標を補正することを特徴とする請求項5に記載のロボット位置検出システム。
【請求項9】
上記位置演算手段は、180°隔てられた2方向のうちの一方向の測定距離と補正座標から当該一方向に存在する固定対象物までの距離との間の誤差を第1誤差とし、他方向の測定距離と補正座標から当該他方向に存在する固定対象物までの距離との間の誤差を第2誤差とした時に、これら第1誤差と第2誤差が等しくなるように上記補正座標を決定することを特徴とする請求項8に記載のロボット位置検出システム。
【請求項10】
上記位置演算手段は、180°隔てられた2方向のうちの一方向の測定距離と補正座標から当該一方向に存在する固定対象物までの距離との間の誤差を第1誤差とし、他方向の測定距離と補正座標から当該他方向に存在する固定対象物までの距離との間の誤差を第2誤差とした時に、上記第1誤差と第2誤差の比が上記2方向の測定距離の比と等しくなるように上記補正座標を決定することを特徴とする請求項8に記載のロボット位置検出システム。
【請求項11】
上記位置演算手段は、許容誤差範囲として小さな初期値を用いてロボットの位置および向きの特定を試み、特定できなかった場合には、許容誤差範囲を増大させて、ロボットの位置及び向きの特定を試みることを特徴とする請求項3〜10のいずれかに記載のロボット位置検出システム。
【請求項12】
上記位置演算手段は、180°対向する2方向の測定距離の和が所定閾値より小さい場合には、この測定距離の和に1より小さい所定係数を乗じて、当該2方向に沿う座標軸における上記測定距離と演算距離の一致判断に用いられる許容誤差範囲の初期値を決定することを特徴とする請求項11に記載のロボット位置検出システム。
【請求項13】
上記固定対象物が建造物の壁面であり、上記ロボットの前後方向を壁面に対して平行または垂直に位置させた状態で、上記距離測定手段がロボットの前後左右の4方向のうち少なくとも2方向での壁面までの距離を測定し、上記位置演算手段は、上記ロボットの向きを90°離れた4つの方向で推定することを特徴とする請求項3〜12のいずれかに記載のロボット位置検出システム。
【請求項14】
上記ロボットは方位センサを有し、上記位置演算手段は、この方位センサからの方位情報によりロボットの向きを特定し、
上記ロボットは方位センサを有し、上記位置演算手段は、この方位センサからの方位情報によりロボットの向きを特定し、さらに上記位置演算手段は、上記ロボットの向きと距離測定手段による距離測定方向との相対的角度位置関係を認識し、上記探査エリアの多数の座標点を順々にロボットの実際の位置と推定し、推定された座標点毎に、推定座標点から複数の測定方向における固定対象物までの距離を演算し、この複数の測定方向での演算距離と測定距離とを比較し、両者が許容誤差範囲内で一致するか否かを判断し、一致と判断した時には、その推定座標点を現在のロボットの位置として特定し、特定されたロボットの位置と向きを上記ディスプレイに表示することを特徴とする請求項1に記載のロボット位置検出システム。
【請求項15】
上記固定対象物が建造物の壁面であり、上記距離測定手段がロボットの前後左右の4方向のうち少なくとも2方向での壁面までの距離を測定することを特徴とする請求項11に記載のロボット位置検出システム。
【請求項16】
上記位置演算手段は、マップデータ上において、探査エリアの中心と推定座標点との間に壁面がある場合には当該推定座標点をロボットの現在位置と認識しないことを特徴とする請求項13または15に記載のロボット位置検出システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2008−276754(P2008−276754A)
【公開日】平成20年11月13日(2008.11.13)
【国際特許分類】
【出願番号】特願2008−73006(P2008−73006)
【出願日】平成20年3月21日(2008.3.21)
【出願人】(000110251)トピー工業株式会社 (255)
【Fターム(参考)】
【公開日】平成20年11月13日(2008.11.13)
【国際特許分類】
【出願日】平成20年3月21日(2008.3.21)
【出願人】(000110251)トピー工業株式会社 (255)
【Fターム(参考)】
[ Back to top ]