(57)【特許請求の範囲】
【請求項１】
回転しながら周期的に得られた、所定の構造光が投射された領域についての映像フレームを提供する段階と、
前記映像フレームで前記構造光が撮像された位置を基準位置と比較して、カーペット類、ラグ類、スリッパ類のうちいずれかを少なくとも含む底物体の存在を感知する段階と、
前記映像フレームで前記構造光の撮像位置を用いて前記底物体の第１の境界方向を測定する段階と、
前記映像フレームで前記底物体の色相情報と底の色相情報との間の差を用いて前記底物体の第２の境界方向を測定する段階と、
前記第１の境界方向と前記第２の境界方向の加重値和によって前記底物体の第３の境界方向を計算する段階と、
前記第３の境界方向に平行な方向に移動する段階と
前記底物体の境界についての追従経路によって前記底物体を検出する段階と、
を含むことを特徴とする構造光を用いた底物体検出方法。
【請求項２】
前記追従経路が閉ループを形成すれば、前記追従経路を前記底物体の領域として決定する段階を含むことを特徴とする請求項１に記載の構造光を用いた底物体検出方法。
【請求項３】
前記追従経路が所定の角度で連結された三本のラインを形成すれば、前記追従経路の両端点を連結して得られた閉ループを前記底物体の領域として決定する段階を含むことを特徴とする請求項１に記載の構造光を用いた底物体検出方法。
【請求項４】
前記追従経路が所定の角度で連結された二本のラインを形成すれば、前記追従経路の両端点を結ぶ線分を基準として前記追従経路を対称させることによって得られる閉ループを前記底物体の領域として決定する段階を含むことを特徴とする請求項１に記載の構造光を用いた底物体検出方法。
【請求項５】
前記追従経路が一つの線分であれば、前記追従経路に垂直な方向に前記底物体を撮影して前記底物体の手前側の境界と奥側の境界が撮像された映像フレームを生成する段階と、
前記映像フレームに撮像された前記手前側の境界と奥側の境界間の距離情報を用いて前記底物体の幅を計算する段階と、
前記追従経路と前記計算された幅を用いて前記底物体の領域を決定する段階とを含むことを特徴とする請求項１に記載の構造光を用いた底物体検出方法。
【請求項６】
前記底物体の大きさによって、前記底物体の種類を分類する段階を含むことを特徴とする請求項１に記載の構造光を用いた底物体検出方法。
【請求項７】
前記構造光を前記底物体の表面に投射する段階と、
前記底物体に投射された構造光によって求められた前記底物体の表面の高さ情報に含まれる高周波成分の量を用いて前記底物体の材質を分類する段階を含むことを特徴とする請求項１に記載の構造光を用いた底物体検出方法。
【請求項８】
所定の構造光が投射された領域の映像フレームを提供する撮影部と、
前記映像フレームに撮像された前記構造光の撮像位置を基準位置と比較して、カーペット類、ラグ類、スリッパ類のうちいずれかを少なくとも含む底物体の存在を感知し、該感知した底物体の境界を追従する走行部と、
前記走行部の走行経路を用いて前記底物体を検出する検出部と、
前記映像フレームで前記構造光の撮像位置を用いて測定した第１の境界方向と前記映像フレームで前記底物体の色相情報と底の色相情報との間の差を用いて測定した第２の境界方向の加重値和によって前記底物体の第３の境界方向を計算する境界測定部と、を含み、
前記第１の境界方向及び前記第２の境界方向を測定する際に前記走行部が回転運動をすると共に前記撮影部が周期的に映像フレームを提供し、
前記走行部は、前記第３の境界方向に平行な方向に前記底物体を追従することを特徴とするロボット。
【請求項９】
前記検出部は前記追従経路が閉ループを形成すれば、前記追従経路を前記底物体の領域として決定することを特徴とする請求項８に記載のロボット。
【請求項１０】
前記検出部は、前記追従経路が所定の角度で連結された三本のラインを形成すれば、前記追従経路の両端点を連結して得られた閉ループを前記底物体の領域として決定することを特徴とする請求項８に記載のロボット。
【請求項１１】
前記検出部は、前記追従経路が所定の角度で連結された二本のラインを形成すれば、前記追従経路の両端点を結ぶ線分を基準として前記追従経路を対称させることによって得られる閉ループを前記底物体の領域として決定することを特徴とする請求項８に記載のロボット。
【請求項１２】
前記検出部は前記追従経路が一つの線分であれば、前記撮影部が前記追従経路に垂直な方向に前記底物体を撮影して生成した映像フレームで前記底物体の手前側の境界と奥側の境界の間の距離情報を用いて前記底物体の幅を計算し、前記追従経路と前記計算された幅を用いて前記底物体の領域を決定することを特徴とする請求項８に記載のロボット。
【請求項１３】
前記検出部は、前記底物体の大きさによって前記底物体の種類を分類することを特徴とする請求項８に記載のロボット。
【請求項１４】
前記検出部は、前記底物体に投射された構造光によって求められた前記底物体の表面の高さに含まれる高周波成分の量情報を用いて前記底物体の材質を分類することを特徴とする請求項８に記載のロボット。
【請求項１５】
前記高低差を測定した結果、前記底物体の存在が確認されれば、前記構造光が投射された地点までの距離を計算する距離計算部をさらに含み、
前記走行部は、前記計算された距離を用いて前記底物体から所定の間隔以内に移動することを特徴とする請求項８に記載のロボット。
【請求項１６】
前記検出された底物体についての情報を反映して所定の基準マップを更新するマップ管理部をさらに含むことを特徴とする請求項８に記載のロボット。
【請求項１７】
前記構造光を投射する投射部をさらに含むことを特徴とする請求項８に記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボットに係り、さらに詳細には、構造光を用いて底物体を検出する方法及びこれを用いたロボットに関する。
【背景技術】
【０００２】
一般にロボットは、産業用に開発されて工場自動化の一環として使用されるか、或いは人間が耐えることができない極限の環境で人間の代わりに作業を行う場合に使用されてきた。このようなロボット工学分野は近来に入って最先端の宇宙開発産業に使用されながら発展を重ねて最近に入っては人間親和的な家庭用ロボットの開発にまで達した。付け加えて、ロボットは医療用機器に代わって人間生体内に投入されることによって、既存の医療用機器としては治療が不可能であった微細な人間生体組織の治療にまで用いられる。このような目覚しいロボット工学の発展はインターネットによる情報革命とこれに次いで流行している生命工学分野を代替して新たに登場する最先端分野として脚光を浴びている。
【０００３】
この中で、前記家庭用ロボットは、産業用ロボットに局限されてきた既存の重工業中心のロボット工学分野を軽工業中心のロボット工学分野まで拡大させた主役として最も基本的に想起されるものとして清掃用ロボットをその例に挙げることができる。このような前記清掃用ロボットは普通移動のための駆動手段と、清掃のための清掃手段、そして全方位障害物を感知するための監視手段などで構成されている。
【０００４】
一般に、前記駆動手段は駆動力を発揮するための駆動モータと、前記駆動モータによって駆動される無限軌道又は所定直径の輪と、駆動を制御するための駆動制御回路などで構成されている。そして、前記清掃手段は埃などを集塵して除去するための集塵機などと、集塵行動を制御するための集塵制御回路などで構成されている。また、前記監視手段は全方位障害物を捕捉するための監視用カメラと、前記監視用カメラで捕捉される映像を使用者に伝送するための伝送装置で構成されている。
【０００５】
このようなロボットは、周辺に存在する障害物の配置構造を感知して自分が移動可能な領域を所定の基準マップと作成して置き、作成された基準マップによって障害物にぶつけず目的地まで移動するようになる。ところで、カーペットやラグなどのような底物体はロボットの移動経路上に置いていてもロボットの移動に妨害を与えないので底物体の存在有無は基準マップに反映されない場合が多い。しかしながら、カーペットやラグなどの底物体はロボットの作業遂行に影響を及ぼすことができるので底物体の存在を感知する技術が必要である。例えば、清掃用ロボットの場合には、底物体が清掃用ロボットのブラシに吸入されて清掃用ロボットの動作が非正常的に中止されたりする。
【０００６】
特許文献１は多数本のレーザービームを発生させ、ビームによって目標物に形成されるポイントの映像物によって目標物に対する相対位置を算出することによって目標物までの距離を測定する技術について開示している。しかしながら、特許文献１は単純に目標物までの距離を測定すること以外に底物体を検出するための方案を提示できない。すなわち、特許文献１はロボットの移動可能領域を示す基準マップを作成するため障害物を感知する方法では使用できるが、底物体を検出するための具体的実現方案がまだ十分でない。
【特許文献１】韓国公開特許第１０−２００４−２１６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする技術的課題は、構造光を用いて底物体を検出することにある。
【０００８】
本発明の技術的課題は以上で言及した技術的課題で制限されないし、言及されないまた他の技術的課題は以下の記載から当業者に明確に理解されることができることである。
【課題を解決するための手段】
【０００９】
前記技術的課題を達成するための本発明の実施形態による構造光を用いた底物体検出方法は、所定の構造光が投射された地点の高低差を測定する段階、及び前記測定された高低差を用いて底物体を検出する段階を含む。
【００１０】
また、前記技術的課題を達成するための本発明の実施形態によるロボットは、所定の構造光が投射された領域の映像フレームを提供する撮影部、前記映像フレームに撮像された前記構造光の撮像位置を用いて底物体の境界を追従する走行部、前記走行部の走行経路を用いて前記底物体を検出する検出部を含む。
【発明の効果】
【００１１】
上述したような本発明の構造光を用いた物体検出方法及びこれを用いたロボットによれば、次の通りの効果が一つ或いはその以上ある。
第一、ロボットの作業に影響を及ぼすことができる底物体を検出できる長所がある。
第二、底物体を検出することによって底物体に対する区別された作業付与が可能な長所もある。
第三、ロボットが底物体の表面に移動せずにも底物体を検出できるため、底物体の存在が感知されない状態でも底物体に対する作業付与が可能である。
【発明を実施するための最良の形態】
【００１２】
その他実施形態の具体的な事項は詳細な説明及び図面に含まれている。
本発明の利点及び特徴、そしてそれらを達成する方法は添付する図面と共に詳細に後述している実施形態を参照すれば明確になる。しかしながら、本発明は、以下で開示される実施形態に限定されるものではなく、相異なる多様な形態で具現されるものであり、本実施形態は、本発明の開示が完全となり、当業者に発明の範疇を完全に知らせるために提供されるものであり、本発明は、特許請求の範囲の記載に基づいて決められなければならない。なお、明細書全体にかけて同一参照符号は同一構成要素を示すものとする。
【００１３】
以下、添付した図面を参照して本発明の好適な実施形態を詳細に説明する。
【００１４】
図１は、本発明の一実施形態によるロボット１００の動作を説明するための図面である。
本発明でロボット１００は、自ら移動可能であり、所定の目的のために付与された作業を行う装置であって、清掃用ロボットを好適な実施形態として挙げることができる。ロボット１００の走行経路には底物体１０が存在できるが、ロボット１００が移動できる領域２０の中で底物体１０が存在する領域と底物体１０が存在しない領域間には高低差が存在する。ここで底物体はカーペット、ラグ、スリッパなどのようにロボット１００の移動範疇２０上に存在し、ロボット１００が行う作業に影響を及ぼすことができる多様な類型の物体を言う。
【００１５】
ロボット１００は、走行中に底の高低差を測定し、これによって底物体１０を検出する。底の高低差を測定するためロボット１００は走行方向に所定の構造光３０を投射して構造光３０の投射領域を撮影する。ここで構造光３０は、一つの線形、複数の線形、所定の格子を形成する行列形態の線形など多様な形態を有することができる。以下では構造光３０が一つの線形を有することと説明するものであるが、本発明はこれに限定されない。構造光３０は、ロボット１００から所定距離離隔された位置の底に向かって下向投射される。
【００１６】
一般底に構造光３０が投射された場合、構造光３０の投射領域を撮影して得た映像フレームで構造光３０は固定された位置に撮像される。しかしながら、構造光３０が底物体１０に投射された場合、構造光３０の投射領域を撮影して得た映像フレームで構造光３０の撮像位置はさらに高くなるようになる。これは、底物体１０によって高低差が発生するためである。従って、構造光３０が底に投射される場合の映像フレーム上で構造光が撮像される基準位置を実験などによって予め設定して置き、実際にロボット１０が使用される間撮影した映像フレームで構造光３０の位置を基準位置と比較すれば底物体１０の存在有無が分かるようになる。
【００１７】
底物体１０の存在が感知されれば、ロボット１００は底物体１０の境界を追従することによって底物体１０の大きさと底物体が存在する領域が分かるようになる。これにより、底物体１０が設けられた領域と一般底に対するロボット１００の作業方式を区分して設定するか、或いはこれらについてのロボット１００の作業要否を選択的に設定するなど、底物体１０について必要なロボットの動作を予め設定及び制御できるようになる。例えば、ロボット１００が清掃用ロボットである場合、一般底と底物体１０に対する清掃方式を別途に設定するか、或いは底物体１０に対する清掃だけを指示できるようになる。以下、前述したロボット１００について図２Ａ及び図２Ｂを参照してさらに詳細に説明する。
【００１８】
図２Ａは本発明の一実施形態によるロボット１００の斜視図であり、図２Ｂは本発明の一実施形態によるロボット１００の構造を示したブロック図である。示されているロボット１００は走行部２１０、投射部２２０、撮影部２３０、動作管理部２４０、検出部２５０、及びマップ管理部２６０を含む。図２Ａで投射部２２０が撮影部２３０の上端に存在するが、本発明は投射部２２０と撮影部２３０の配置構造に限定されない。
【００１９】
走行部２１０は、ロボット１００を移動させる。このため走行部２１０は一つ以上の輪２１２と輪２１２を回転させるモータ（図示せず）を含むことができる。しかしながら、本発明はこれに限定されず、走行部２１０はロボット１００を移動させることができる公知の他の走行手段を含んでもよい。
【００２０】
投射部２２０は、構造光３０を投射する。前述したように、構造光は一つの線形、複数の線形、行列形態などを有し、ロボット１００の前方に下向投射される。構造光の好適な実施形態としてラインレーザーを挙げることができる。ラインレーザーは、レーザーを発生させる発光ダイオードと発光ダイオードを発生させたレーザーを線形に分散させる光学系（レンズ、鏡、プリズムなど）で実現可能である。投射部２２０は、構造光を周期的に投射するか、常に投射することができる。
【００２１】
撮影部２３０は、構造光が投射される領域に対する撮影作業を行うことによって、構造光が撮像された映像フレームを提供する。好ましくは、撮影部２３０は映像フレームを周期的に提供する。構造光を撮像させるために撮影部２３０は投射部２２０と同期化できる。すなわち、投射部２２０が構造光を投射する時点に撮影部２３０は撮影作業を行うことができるようになる。このような撮影部２３０はＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ−Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）、ＳＭＰＤ（Ｓｉｎｇｌｅ−ｃａｒｒｉｅｒ  Ｍｏｄｕｌａｔｉｏｎ  Ｐｈｏｔｏ  Ｄｅｔｅｃｔｏｒ）などの撮像素子を含むことができる。
【００２２】
動作管理部２４０は、ロボット１００の移動方向を制御する。従って、走行部２１０は動作管理部２４０の制御によってロボット１００を移動させるようになる。特に動作管理部２４０は、撮影部２３０が提供する映像フレームに撮像された構造光を用いてロボット１００が底物体に接近し、底物体の境界を追従するようにロボット１００の移動方向を制御できる。動作管理部２４０についての説明は図３を参照して後述する。
【００２３】
検出部２５０は、底物体の境界を追従する作業によるロボット１００の移動経路に基づいて底物体を検出する。本明細書で底物体を検出するというのは底物体を占めている領域を確定し、底物体の大きさを測定するという意味を含む。ロボット１００の移動経路を確認するために検出部２５０はロボット１００の位置及び方向の変化を測定できるエンコーダ、ジャイロスコープなどを含むことができる。
【００２４】
検出部２５０は、底物体の大きさによって底物体の種類を分類してもよい。例えば検出部２５０は、１ｍ＊１ｍ以上の大きさを有する底物体はカーペット類に分類し、０．５ｍ＊０．５ｍ〜１ｍ＊１ｍの大きさを有する底物体はラグ類に分類し、０．５ｍ＊０．５未満の大きさを有する底物体はスリッパ類に分類できる。底物体の種類を分類することによって底物体の種類に応じる作業分類が可能となる。
【００２５】
境界測定部２４４は、底物体の境界を測定するために色相情報を用いてもよい。例えば、映像フレームに撮像された構造光によって底物体の存在が感知されれば、境界測定部２４４は底物体の色相情報と底の色相情報との間の差分値を求め、求められた差分値の絶対値（以下、初期色度差という。）を所定の臨界値と比較する。ここで底物体の色相情報は構造光によって底物体が存在することと推定される領域を映像フレームでサンプリングし、サンプリングされた領域の色相情報を分析することによって得ることができる。
【００２６】
もし初期色度差が第１の臨界値以上であれば、境界測定部２４４は映像フレームで底物体の色相情報と第２の臨界値未満の差を示す色相を有する領域と第２の臨界値以上の差を示す色相を有する領域を分離することによって、底物体の境界を測定できる。
【００２７】
その後、構造光を用いて得た底物体の境界方向と色相情報を用いて得た底物体の境界方向の加重値和によって底物体の境界方向を決定でき、これを（式１）に示した。
【００２８】
【数１】
0004646942.tif 000002
（式１）で
【００２９】
【数２】
0004646942.tif 000003
は構造光によって得た底物体の境界方向であり、
【００３０】
【数３】
0004646942.tif 000004
は色相情報を用いて得た底物体の境界方向であり、
【００３１】
【数４】
0004646942.tif 000005
はこれらの加重値和による底物体の境界方向である。またｋは加重値を示すが、
【００３２】
【数５】
0004646942.tif 000006
の信頼度によって予め設定されていてもよく、
【００３３】
【数６】
0004646942.tif 000007
についての測定結果によって動的に設定されてもよい。例えば、加重値ｋは初期色度差を映像フレームを有することができる最大色度値である２５５に除算した値で設定できる。
【００３４】
マップ管理部２６０は、ロボット１００の移動可能領域を示す基準マップが検出部２５０によって検出された底物体の存在が反映されるように基準マップを更新する。ここで基準マップは壁や家具などのようにロボット１００の移動を遮断させる障害物の配置構造を示したマップであって、予め作成されていることがある。基準マップを作成する技術は多様なように公知になっているため、本明細書ではこれについての説明を省略する。マップ管理部２６０は検出部２５０から底物体の大きさ、領域、材質、種類などのような検出情報を得ることができ、検出情報を基準マップ上に反映させる。
【００３５】
図３は、図２の動作管理部２４０をより具体的に示したブロック図である。図示する動作管理部２４０は距離計算部２４２、境界測定部２４４、及び制御部２４６を含む。
【００３６】
距離計算部２４２は、撮影部２３０から提供される映像フレームに撮像された構造光によって高低差が感知される場合底物体が存在することと判断し、ロボット１００の現在位置から底物体までの距離を計算する。前述したように、底の高低差は映像フレーム上で構造光の位置によって判断できる。投射部２２０が投射した構造光が一般的な底に投影されれば、撮影部２３０が提供する映像フレームで構造光が撮像される位置は一定に維持される。従って、構造光が底に投射される場合に撮影部２３０が提供する映像フレームで構造光が存在する基準位置を予め保存させて置き、実際に撮影された映像フレームで構造光が存在する位置を基準位置と比較することによって底物体の存在有無が確認できる。図４Ａ及び図４Ｂを参照して底物体の存在を確認する過程について説明する。
【００３７】
図４Ａは、ロボット１００が底物体１０の境界面に垂直な方向に移動する場面と各場面で撮影部２３０が撮影した映像フレームを時間的順序によって示した図面である。時間ｔ１と時間ｔ２でのように構造光３０が底に投射された場合、映像フレームに存在する構造光３０ａの位置は基準位置４１０と同一である。しかしながら、時間ｔ３でのように構造光３０が底物体１０に投射された場合、映像フレームに存在する構造光３０ａの位置が基準位置４１０より高く示される。この場合、検出部２５０は前方に底物体１０が存在することと判断できる。
【００３８】
図４Ｂは、ロボット１００が底物体１０の境界面に斜めな方向に移動する場面と各場面で撮影部２３０が撮影した映像フレームを時間的順序に応じて示した図面である。時間ｔ１と時間ｔ２でのように構造光３０が底に投射された場合、映像フレームに存在する構造光３０ａの位置は基準位置４１０と同一である。しかしながら、時間ｔ３でのように構造光３０が底物体１０と底にかけて投射されれば、撮影部２３０が撮影した映像フレームに存在する構造光３０ａには段差４２０が存在するようになる。段差４２０が存在する構造光３０ａで基準位置４１０上に撮像された部分は底を示し、基準位置４１０より高い部分は底物体１０を示す。
【００３９】
映像フレームに撮像された構造光の位置によって高低差が感知されれば距離計算部２４２は構造光が投射された領域に底物体が存在することと判断し、ロボット１００の現在位置から底物体まで移動するための距離及び方向を計算する。以下、図５Ａ〜図５Ｃを参照してこれについて説明する。
【００４０】
図５Ａは、本発明の一実施形態による撮影部２３０と任意の対象地点間の座標関係を示した図面である。図５Ａで座標軸Ｘｃ、Ｙｃ、Ｚｃはロボット１００上で撮影部２３０が使用する基準座標軸であり、基準座標軸Ｘｃ、Ｙｃ、Ｚｃは基準点Ｃを中心にする。Ｏｘ、Ｏｙは映像フレーム５１０の座標のうち撮影部２３０の座標軸Ｚｃに対応する基準点であり、Ｙｐ、Ｘｐは映像フレーム５１０の基準座標軸である。点Ｐは対象地点を示し、Ｐ’は映像フレーム５１０で対象地点Ｐが撮像された位置を示す。
【００４１】
本発明で対象地点は構造光が投射された地点を示す。好ましくは、対象地点は映像フレームに撮像された構造光に段差が存在しなければ、構造光の中心点に対応する位置であり、映像フレームに撮像された構造光に段差が存在すれば、段差地点に対応する位置でありうる。
【００４２】
図５Ｂは、図５Ａのような座標関係で撮影部２３０から対象地点ＰまでのＺｃ軸方向への距離ＣｚとＹｃ軸方向への距離Ｃｙ間の関係を示した図面である。図５Ｂでｆは撮影部２３０の焦点距離であり、ｙは焦点距離ｆで対象地点Ｐの像が結ばれるＹｃ軸方向の距離である。ｙは（式２）のように示すことができる。
【００４３】
【数７】
0004646942.tif 000008
（式２）で
【００４４】
【数８】
0004646942.tif 000009
は映像フレーム５１０で対象地点の撮像位置Ｐ’が映像フレーム５１０の基準点（Ｏｘ、Ｏｙ）からＹｐ軸方向に離隔された距離であり、
【００４５】
【数９】
0004646942.tif 000010
は撮影部２３０の撮影作業と映像フレーム５１０の大きさによるＹｃ軸方向のずれの程度を補償するためのスケールパラメータである。
【００４６】
図５Ｂに示されている関係による三角法と（式２）を用いれば、（式３）のようなＣｙとＣｚ間の関係が成り立つ。
【００４７】
【数１０】
0004646942.tif 000011
これと類似した方式を用いれば、撮影部２３０から物体までのＺｃ軸方向への距離ＣｚとＸｃ軸方向への距離Ｃｘ間の関係も求めることができる。（式４）はＣｘとＣｚ間の関係及びＣｙとＣｚ間の関係を行列式に示したことである。
【００４８】
【数１１】
0004646942.tif 000012
（式４）で
【００４９】
【数１２】
0004646942.tif 000013
は撮影部２３０の撮影作業と映像フレーム５１０の大きさによるＸｃ軸方向のずれの程度を補償するためのスケールパラメータである。
【００５０】
図５Ｃは、本発明の一実施形態による撮影部２３０の基準座標軸とロボット１００の基準座標軸間の関係を示した図面である。Ｘｒ、Ｙｒ、Ｚｒはロボット１００の基準座標軸であり、Ｘｃ、Ｙｃ、Ｚｃは撮影部２３０の基準座標軸である。ここで撮影部２３０の基準座標軸は図５Ａで説明したことと同一である。ＣとＲはそれぞれロボット１００の基準座標軸と撮影部２３０の基準座標軸の中心を示す基準点である。
【００５１】
ロボット１００の基準座標軸のうちＸｒとＺｒで形成される平面はロボットが移動する底平面と同一であり、Ｚｒはロボットの前方を向く。本実施形態でＸｒとＸｃは互いに平行し、撮影部２３０の基準点Ｃはロボット１００の基準点ＲからＹｒ方向にＨほど離隔されている。また、ＺｃはＺｒについて角度αほど回転されている。
【００５２】
この場合、ロボット１００の基準座標軸を使用した座標系と撮影部２３０の基準座標軸を使用した座標系間の関係は（式５）のように示すことができる。
【００５３】
【数１３】
0004646942.tif 000014
（式５）でＲｘ、Ｒｙ、Ｒｚはそれぞれロボット１００の基準点ＲからＸｒ、Ｙｒ、Ｚｒ方向への距離を意味し、Ｃｘ、Ｃｙ、Ｃｚはそれぞれ撮影部２３０の基準点ＣからＸｃ、Ｙｃ、Ｚｃ方向への距離を意味する。
（式５）を用いれば、
【００５４】
【数１４】
0004646942.tif 000015
の関係が成り立つ。ここで、ロボット１００の移動面であるＸｒＺｒ平面のためにＲｙ＝０に置いて（式４）によって得たＣｙとＣｚ間の関係を代入すれば、（式６）を得ることができる。
【００５５】
【数１５】
0004646942.tif 000016
（式５）と（式６）を用いれば、ロボット１００から対象地点までのＺｒ軸及びＸｒ軸方向への距離ＲｚとＲｘを求めることができる。（式７）と
（式８）はそれぞれＲｚとＲｘを求める式を示す。
【００５６】
【数１６】
0004646942.tif 000017
【００５７】
【数１７】
0004646942.tif 000018
図５Ａ〜図５Ｃと（式２）〜（式８）を参照して説明した距離計算方式は本発明の一実施形態であるだけなので、本発明がこれに限定されるものではなく、実施形態によって多様な公知の技術が用いられてもよい。
一方、前述した距離計算方式を使用すれば、底から構造光が投射された地点までの高低差を直接計算することも可能である。
【００５８】
再び図３を参照すれば、境界測定部２４４は底物体の境界方向を測定する。底物体の境界方向はロボット１００が底物体から一定距離以内に位置した状態でロボット１００が回転する間撮影部２３０が提供する連続した映像フレームに存在する構造光の段差の延長方向によって測定できる。例えば、図６に示すようにロボット１００が底物体１０の境界付近で時計方向に回転しながら、時間的に連続した４個の映像フレームを生成する場合、距離計算部２４２はロボット１００の現在位置から各映像フレームで構造光の段差６１０、６２０、６３０、６４０が存在する地点に対応する位置までの距離と方向を計算できる。この時、境界測定部２４４は段差が存在する地点の座標を生成し、生成された座標を連結することによって底物体の境界方向を測定できる。
【００５９】
制御部２４６は、距離計算部２４２と境界測定部２４４から提供される情報を用いてロボット１００が進行する方向やロボット１００の回転方向などを決定し、決定結果によって走行部２１０を制御する。
【００６０】
以下、前述したロボット１００の底物体検出過程について具体的に説明する。
【００６１】
図７は、本発明の一実施形態による底物体を検出する過程を示したフローチャートである。
先ず、投射部２２０が構造光を投射すれば（Ｓ７１０）、撮影部２３０は構造光が投射された領域を撮影して映像フレームを提供する（Ｓ７２０）。構造光は周期的に投射でき、撮影部２３０は投射部２２０と同期化されて構造光が投射されるとき毎に撮影作業を行うことができる。又は、投射部２２０は構造光を連続投射し、撮影部２３０が一定周期毎に構造光が投射された領域を撮影してもよい。本フローチャートでは構造光の投射と撮影作業が過程Ｓ７１０とＳ７２０によって一回行われることのように示されているが、以下の過程が行われる間構造光の投射と撮影作業は持続的に行われる。
【００６２】
動作管理部２４０は、映像フレームに存在する構造光によって底の高低差が発生したかを判断する（Ｓ７３０）。底物体によって高低差が発生したかの要否は図４Ａ及び図４Ｂを参照して説明したような作業によって判断できる。勿論、図５Ａ〜図５Ｃと（式２）〜（式８）を参照して説明した内容に基づいて映像フレームに存在する構造光の位置に対応する地点の高さを計算することによって高低差を感知することも可能である。
【００６３】
もし高低差が存在しなければ、走行部２１０は動作管理部２４０の制御によって今までのロボット１００の移動パターンを維持する（Ｓ７４０）。しかしながら、過程Ｓ７３０の判断結果底の高低差が感知されれば、走行部２１０は動作管理部２４０の制御によって底物体にロボット１００を接近させる（Ｓ７５０）。この時、ロボット１００は底物体の境界から一定距離に位置するときまで移動し、ロボット１００から底物体までの距離及び方向は図５Ａ〜図５Ｃを参照して説明した内容でのように距離計算部２４２によって求められることができる。
【００６４】
ロボット１００が底物体の境界から所定の距離に位置するときまで移動すれば、動作管理部２４０はロボット１００が底物体の境界を追従するように走行部２１０を制御し、走行部２１０は動作管理部２４０の制御によって底物体の境界に沿ってロボット１００を移動させる（Ｓ７６０）。
【００６５】
底物体の境界を追従する作業が完了すれば、検出部２５０はロボット１００が底物体の境界に沿って移動した経路を用いて底物体を検出する（Ｓ７７０）。この時、検出部２５０は底物体の大きさを用いて底物体の種類を分類して置くことができる。
【００６６】
その後、マップ管理部２６０は底物体の存在領域が反映されるようにロボット１００の移動可能領域を示す基準マップを更新する（Ｓ７８０）。
【００６７】
図８は、本発明の一実施形態による底物体の境界を追従する過程を示したフローチャートである。示されているフローチャートは図７の過程Ｓ７６０をより具体的に示した図面である。
先ず、底物体から一定距離以内に接近すれば、制御部２４６は回転方向を指示し、走行部２１０は制御部２４６が指示した方向にロボット１００を回転させる（Ｓ８１０）。
【００６８】
ロボット１００が回転する間にも投射部２２０と撮影部２３０の動作によって構造光が撮像された映像フレームが周期的に提供される。境界測定部２４４は連続的に提供された映像フレームを分析して底物体の境界方向を決定する（Ｓ８１５）。
【００６９】
底物体の境界方向が決定されれば、制御部２４６は移動方向を底物体の境界方向と平行な方向に決定し、走行部２１０は制御部２４６が決定した方向にロボット１００を移動させる（Ｓ８２０）。
【００７０】
底物体の境界に沿って移動した間ロボット１００に発生できる状況は広く二つに分けて見ることができる。一方は、底物体のコーナーに接近する場合であり、他方は障害物に会うようになる場合である。
【００７１】
先ず、底物体のコーナーに接近する場合撮影部２３０が提供する映像フレームで構造光の段差がなくなる。図９にロボット１００が底物体１０のコーナーに接近する場面と各場面での映像フレームを示したが、図９の時間ｔ３で構造光９１０の段差９２０がなくなっている。
【００７２】
ロボット１００が底物体の境界方向に沿って移動する間に、制御部２４６は撮影部２３０が提供する映像フレームで構造光の段差がなくなるか否かを判断する（Ｓ８２５）。もし映像フレームで構造光の段差がなくなれば、底物体のコーナーに至ることを意味するため、制御部２４６は段差がなくなった地点までロボット１００の移動を指示し、走行部２１０がその指示によってロボット１００を移動させる（Ｓ８３０）。
【００７３】
ロボット１００が段差がなくなった地点まで移動すれば、制御部２４６は回転を指示し、走行部２１０はロボット１００を回転させる（Ｓ８３５）。ここで、ロボット１００の回転方向は底物体が存在した方向である。例えば、図９に示すような段差を感知しながら底物体の境界に沿って移動したら、映像フレームの構造光によって底物体がロボット１００の左側方向に存在するという事実が分かる。この場合、制御部２４６はロボット１００が左側方向に回転するように指示するようになる。
【００７４】
ロボット１００が回転する間撮影部２３０から提供される映像フレームによって境界測定部２４４は底物体の境界方向を再び決定する（Ｓ８４０）。その後、走行部２１０は境界測定部２４４によって決定された底物体の境界方向と平行な方向にロボット１００を移動させる（Ｓ８４５）。過程Ｓ８３５〜Ｓ８４５は過程Ｓ８１０〜Ｓ８２０と類似した方式で行われる。
【００７５】
ロボット１００が底物体の境界方向に沿って移動する間に制御部２４６は底物体の追従作業によるロボット１００の移動経路が閉ループを形成するかを判断する（Ｓ８５０）。もしロボット１００の移動経路が閉ループを形成すれば、底物体の追従作業が終了する。
【００７６】
一方、ロボットが底物体の境界に沿って走行する途中、制御部２４６はロボット１００の前方に障害物が存在するかの要否を判断する（Ｓ８５５）。撮影部２３０が提供する映像フレームで構造光の高さが臨界値以上に高まれる場合制御部２４６は障害物が存在することと判断できるが、その一例を図１０Ａと図１０Ｂに示した。
【００７７】
図１０Ａにロボット１００が障害物１０１０に接近する場面と各場面での映像フレームを示した図面である。図示するように底物体が障害物に接している状態でロボット１００が障害物に近くなれば構造光が障害物に投射される。この時、映像フレームで構造光１０２０の段差１０３０がなくなり（時間ｔ２参照）、構造光１０２０の撮像位置が次第に高くなるようになる（時間ｔ３参照）。制御部２４６は映像フレームで構造光の撮像位置が一定高さを超過する場合障害物の存在を確認できる。
【００７８】
図１０Ｂやはりロボット１００が障害物に接近する場面と各場面での映像フレームを示した図面である。図１０Ｂのような状況でロボット１００が障害物に接近して近くなれば、構造光１０８０は障害物１０４０と底にかけて投射される。この場合、映像フレームで構造光１０８０の段差１０５０、１０６０、１０７０が次第に大きくなるようになるが、これによって制御部２４６は障害物１０４０の存在を確認できるようになる。
【００７９】
再び図８を参照すれば、過程Ｓ８５５で障害物が存在することと判断されれば、制御部２４６は底物体の境界を追従した間始めに感知された障害物であるかを判断する（Ｓ８６０）。始め感知された障害物であれば、制御部２４６はロボット１００の進行方向が反対になるように指示する。この時、走行部２１０はロボット１００の進行方向を１８０度回転させ、再び底物体の境界に沿ってロボットを移動させる（Ｓ８６５）。勿論この場合、過程Ｓ８１０〜Ｓ８２０でのように底物体の境界を再び測定し、測定された境界方向によってロボット１００を移動させることができる。
他方、過程Ｓ８６０の判断結果二番目に感知された障害物であれば、底物体追従作業が終了する。
【００８０】
このような過程によって底物体の境界の追従が完了すれば、図７の過程Ｓ７７０で検出部２５０は底物体を検出するようになるが、底物体が障害物と隣接している状態によって底物体検出方式が変わることができる。
【００８１】
先ず、図１１Ａに示すように底物体１０が障害物と接していない場合、底物体１０の追従作業時ロボットの移動経路１１１０（以下、追従経路という。）は閉ループを形成するようになる。追従経路が閉ループを形成すれば、検出部２５０は追従経路１１１０で区画される領域を底物体１０が存在する領域として決定するようになる。
【００８２】
一方、図１１Ｂに示すように底物体１０の一側境界面が障害物と接している場合、ロボット１００は底物体１０の残り三つの境界面を追従するようになる。従って、追従経路１１２０は所定の角度に連結された三本のラインで形成されるが、この場合検出部２５０は追従経路１１２０の両端点１１２２、１１２４を連結して得られる閉ループを底物体１０の領域として決定するようになる。
【００８３】
また、図１１Ｃに示すように底物体１０の両境界面が障害物と接している場合、ロボット１００は底物体１０の残り両境界面を追従するようになる。従って、追従経路１１３０は所定の角度に連結された二本のラインで形成されるが、この場合検出部２５０は追従経路１１３０の両端点１１３２、１１３４を結ぶ線分１１３６を基準として追従経路１１３０を対称処理し、対称処理結果得られる閉ループを底物体１０の領域として決定するようになる。
【００８４】
最後に、図１１Ｄに示すように、底物体１０の三つの境界面が障害物と接している場合、ロボット１００は底物体１０の残り一側境界面を追従するようになる。この場合、検出部２５０は底物体１０の色相情報を使用して底物体１０の領域を決定するようになる。これをより具体的に説明すれば、底物体１０の一側境界だけが把握された場合、走行部２１０は制御部２４６の制御によって底物体１０の境界方向について垂直な方向に一定間隔ロボット１００を移動させる。好ましくは、走行部２１０は底物体１０の境界の中央部分で底物体１０の境界方向について垂直な方向にロボット１００を移動させることができる。
【００８５】
その後、走行部２１０はロボット１００が底物体１０を向くようにロボット１００を回転させ、撮影部２３０は底物体１０を撮影する。この時、撮影部２３０から提供される映像フレームには図１２に示すように底物体１０が撮像されるようになる。検出部２５０は、映像フレームで底物体１０の色相情報と臨界値以内の色度差を有する領域を分離することによって底物体１０の両境界１２１０、１２２０を決定する。ここで、底物体１０の色相情報は底物体１０の境界追従時撮影部２３０が提供する映像フレームで構造光の位置によって底物体１０が存在することと判断された領域に対するサンプリングによって予め求めて置いたことでありうる。
【００８６】
映像フレーム上で底物体１０の両境界１２１０、１２２０が決定されれば、検出部２５０は両境界１２１０、１２２０間の距離を用いて底物体１０の幅１１４１を推定するようになる。勿論映像フレームは２次元的であるため、底物体１０の高さを示す部分１２３０が底物体１０の幅１１４１（図１１Ｄ参照）を測定する場合に影響を及ぼさないようにするため、両境界１２１０、１２２０間の距離で底物体１０の厚さに該当する部分１２３０の距離は除外させることが好ましい。底物体１０の厚さは底物体１０を感知する当時構造光によって得た底物体１０の高低差に対応する数値で決定できる。このような作業のため映像フレームで所定位置のライン間の距離による各ラインに対応する位置間の実際距離に対する情報を予め保存して置き、検出部２５０がこれを用いるようにできる。
【００８７】
底物体１０の幅が決定されれば、検出部２５０は底物体１０の一側境界に対する追従経路１１４０と色相情報を用いて得た底物体１０の幅をかけた値で底物体１０の大きさを計算し、底物体の存在領域を決定するようになる。
【００８８】
一方、検出部２５０は底物体の材質を測定してもよい。底物体の材質は従来の技術によって測定されてもよいが、検出部２５０は構造光によって底物体の材質を測定してもよい。このため走行部２１０は制御部２４６の制御によって構造光が底物体の表面をスキャニングするようにロボット１０を移動させる。この時、撮影部２３０が提供する連続した映像フレームは底物体の表面に投射された構造光が撮像されている。検出部２５０は、映像フレーム上での構造光の位置情報を用いて構造光が投射された地点の高さ情報を獲得する。その後、検出部２５０は高さ情報で雑音を除去した後残った情報の高周波成分を計算する。図１３Ａに示すように長い毛を含むなどの理由に表面が不均一な底物体の高さ情報は雑音を除去しても高周波成分が多く存在する。従って、高周波成分が所定の臨界値より多ければ、検出部２５０は底物体を長い毛を含む物体と判断し、それについての情報を底物体の検出情報に反映する。しかしながら、図１３Ｂに示すように短い毛で形成されるなどの理由に表面が均一な底物体の高い情報は雑音を除去する場合高周波成分が少ない。従って、所定の臨界値より多くなければ、検出部２５０は底物体を平らな物体と判断し、それに対する情報を底物体の検出情報に反映する。
【００８９】
本発明の実施形態はコード、インストラクション、コンピュータプログラムなどに作成でき、コンピュータで読み取ることができる記録媒体を使用して前記コード、前記インストラクション、前記コンピュータプログラムを実行する汎用ディジタルコンピュータで実現できる。コンピュータで読み取ることができる記録媒体の実施形態として、ＲＯＭ、フロッピ（登録商標）ディスク、ハードディスクなどのようなマグネティックストレージメディア、ＣＤ−ＲＯＭやＤＶＤのような光記録メディア、及びインターネットによって伝送できる搬送波を用いるストレージメディアなどを挙げることができる。前記コンピュータで読み取ることができる記録媒体は、コンピュータで読み取ることができるコードが分散された形態で保存されて実行できるようにコンピュータシステムと結合されたネットワーク上に分布されていてもよい。
【００９０】
以上、添付した図面を参照して本発明の好適な実施形態を説明したが、当業者であれば、本発明の技術的思想や必須的な特徴を変更せずに他の具体的な形態で実施されうることを理解することができる。したがって、上述した好適な実施形態は、例示的なものであり、限定的なものではないことを理解すべきである。
【図面の簡単な説明】
【００９１】
【図１】本発明の一実施形態によるロボットの動作を説明するための図である。
【図２Ａ】本発明の一実施形態によるロボットの斜視図である。
【図２Ｂ】本発明の一実施形態によるロボットの構造を示したブロック図である。
【図３】図２の動作管理部をより具体的に示したブロック図である。
【図４Ａ】本発明の一実施形態による底物体の存在を確認する過程を説明するための図である。
【図４Ｂ】本発明の一実施形態による底物体の存在を確認する過程を説明するための図である。
【図５Ａ】本発明の一実施形態によるロボットから底物体までの移動距離及び方向の計算方式を説明するための図である。
【図５Ｂ】本発明の一実施形態によるロボットから底物体までの移動距離及び方向の計算方式を説明するための図である。
【図５Ｃ】本発明の一実施形態によるロボットから底物体までの移動距離及び方向の計算方式を説明するための図である。
【図６】本発明の一実施形態による底物体の境界方向を測定する過程を説明するための図である。
【図７】本発明の一実施形態による底物体を検出する過程を示したフローチャートである。
【図８】本発明の一実施形態による底物体の境界を追従する過程を示したフローチャートである。
【図９】本発明の一実施形態によるロボットが底物体のコーナーに接近する状態を示した図である。
【図１０Ａ】本発明の一実施形態によるロボットが底物体が接している障害物に接近する状態を示した図である。
【図１０Ｂ】本発明の一実施形態によるロボットが底物体が接している障害物に接近する状態を示した図である。
【図１１Ａ】本発明の一実施形態による底物体の検出状態を示した図である。
【図１１Ｂ】本発明の一実施形態による底物体の検出状態を示した図である。
【図１１Ｃ】本発明の一実施形態による底物体の検出状態を示した図である。
【図１１Ｄ】本発明の一実施形態による底物体の検出状態を示した図である。
【図１２】本発明の一実施形態による底物体が撮像された映像フレームを示した図である。
【図１３Ａ】本発明の一実施形態による構造光によって獲得した底物体の高さ情報を示した図である。
【図１３Ｂ】本発明の一実施形態による構造光によって獲得した底物体の高さ情報を示した図である。
【符号の説明】
【００９２】
２１０      走行部
２２０      投射部
２３０      撮影部
２４０      動作管理部
２４２      距離計算部
２４４      境界推定部
２４６      制御部
２５０      検出部
２６０      マップ管理部
【図１】
0004646942.tif 000019
【図２Ａ】
0004646942.tif 000020
【図２Ｂ】
0004646942.tif 000021
【図３】
0004646942.tif 000022
【図４Ａ】
0004646942.tif 000023
【図４Ｂ】
0004646942.tif 000024
【図５Ａ】
0004646942.tif 000025
【図５Ｂ】
0004646942.tif 000026
【図５Ｃ】
0004646942.tif 000027
【図６】
0004646942.tif 000028
【図７】
0004646942.tif 000029
【図８】
0004646942.tif 000030
【図９】
0004646942.tif 000031
【図１０Ａ】
0004646942.tif 000032
【図１０Ｂ】
0004646942.tif 000033
【図１１Ａ】
0004646942.tif 000034
【図１１Ｂ】
0004646942.tif 000035
【図１１Ｃ】
0004646942.tif 000036
【図１１Ｄ】
0004646942.tif 000037
【図１２】
0004646942.tif 000038
【図１３Ａ】
0004646942.tif 000039
【図１３Ｂ】
0004646942.tif 000040